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 2016/06/16 16:52:20 UTC

wicket git commit: WICKET-6180 JMX Initializer's usage of CGLIB makes it impossible to upgrade to CGLIB 3.2.3

Repository: wicket
Updated Branches:
  refs/heads/wicket-7.x 23386e6c0 -> bb9141058


WICKET-6180 JMX Initializer's usage of CGLIB makes it impossible to upgrade to CGLIB 3.2.3

Set the application classloader as a loader for the newly created proxies. This way they might be unloaded (e.g. in OSGi environment).


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

Branch: refs/heads/wicket-7.x
Commit: bb9141058292241d3df9d06b001621d319b3a039
Parents: 23386e6
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu Jun 16 18:50:09 2016 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu Jun 16 18:52:12 2016 +0200

----------------------------------------------------------------------
 .../java/org/apache/wicket/jmx/Initializer.java   | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/bb914105/wicket-jmx/src/main/java/org/apache/wicket/jmx/Initializer.java
----------------------------------------------------------------------
diff --git a/wicket-jmx/src/main/java/org/apache/wicket/jmx/Initializer.java b/wicket-jmx/src/main/java/org/apache/wicket/jmx/Initializer.java
index 581c04c..cb9a18f 100644
--- a/wicket-jmx/src/main/java/org/apache/wicket/jmx/Initializer.java
+++ b/wicket-jmx/src/main/java/org/apache/wicket/jmx/Initializer.java
@@ -290,7 +290,25 @@ public class Initializer implements IInitializer
 				return o.getClass().getName().replace(".wrapper", "");
 			}
 		});
+		e.setClassLoader(resolveClassLoader());
 
 		return e.create();
 	}
+
+	private static ClassLoader resolveClassLoader()
+	{
+		ClassLoader classLoader = null;
+		if (org.apache.wicket.Application.exists())
+		{
+			classLoader = org.apache.wicket.Application.get().getApplicationSettings()
+					.getClassResolver().getClassLoader();
+		}
+
+		if (classLoader == null) {
+			classLoader = Thread.currentThread().getContextClassLoader();
+		}
+
+		return classLoader;
+	}
+
 }