You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2018/05/26 12:20:05 UTC

wicket git commit: WICKET-6551 LazyInitProxyFactory doesn't work correctly at Weblogic

Repository: wicket
Updated Branches:
  refs/heads/wicket-6.x c2bf22c1f -> 6a7b097ff


WICKET-6551 LazyInitProxyFactory doesn't work correctly at Weblogic

Try to load the class with the thread's context class loader and Wicket's classes loader as a fallbacks


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/6a7b097f
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/6a7b097f
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/6a7b097f

Branch: refs/heads/wicket-6.x
Commit: 6a7b097ff682e261608ebe58e8ca1f0c63f3b472
Parents: c2bf22c
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Sat May 26 15:19:02 2018 +0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Sat May 26 15:19:02 2018 +0300

----------------------------------------------------------------------
 .../wicket/proxy/LazyInitProxyFactory.java      | 22 ++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/6a7b097f/wicket-ioc/src/main/java/org/apache/wicket/proxy/LazyInitProxyFactory.java
----------------------------------------------------------------------
diff --git a/wicket-ioc/src/main/java/org/apache/wicket/proxy/LazyInitProxyFactory.java b/wicket-ioc/src/main/java/org/apache/wicket/proxy/LazyInitProxyFactory.java
index ab4a0b2..c8604c4 100644
--- a/wicket-ioc/src/main/java/org/apache/wicket/proxy/LazyInitProxyFactory.java
+++ b/wicket-ioc/src/main/java/org/apache/wicket/proxy/LazyInitProxyFactory.java
@@ -253,10 +253,24 @@ public class LazyInitProxyFactory
 			Class<?> clazz = WicketObjects.resolveClass(type);
 			if (clazz == null)
 			{
-				ClassNotFoundException cause = new ClassNotFoundException(
-					"Could not resolve type [" + type +
-						"] with the currently configured org.apache.wicket.application.IClassResolver");
-				throw new WicketRuntimeException(cause);
+				try
+				{
+					clazz = Class.forName(type, false, Thread.currentThread().getContextClassLoader());
+				}
+				catch (ClassNotFoundException ignored1)
+				{
+					try
+					{
+						clazz = Class.forName(type, false, LazyInitProxyFactory.class.getClassLoader());
+					}
+					catch (ClassNotFoundException ignored2)
+					{
+						ClassNotFoundException cause = new ClassNotFoundException(
+								"Could not resolve type [" + type +
+										"] with the currently configured org.apache.wicket.application.IClassResolver");
+						throw new WicketRuntimeException(cause);
+					}
+				}
 			}
 			return LazyInitProxyFactory.createProxy(clazz, locator);
 		}