You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by da...@apache.org on 2003/11/11 21:22:36 UTC
cvs commit: incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/kernel/jmx MBeanProxyFactory.java
dain 2003/11/11 12:22:36
Modified: modules/kernel/src/java/org/apache/geronimo/kernel/jmx
MBeanProxyFactory.java
Log:
Set classloader to be used for proxy directly. CGLib sometimes guess wrong.
Revision Changes Path
1.5 +11 -6 incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/kernel/jmx/MBeanProxyFactory.java
Index: MBeanProxyFactory.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/kernel/jmx/MBeanProxyFactory.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- MBeanProxyFactory.java 10 Nov 2003 00:22:34 -0000 1.4
+++ MBeanProxyFactory.java 11 Nov 2003 20:22:36 -0000 1.5
@@ -69,6 +69,8 @@
import net.sf.cglib.proxy.Factory;
import net.sf.cglib.proxy.SimpleCallbacks;
import net.sf.cglib.proxy.MethodProxy;
+import net.sf.cglib.proxy.CallbackFilter;
+import net.sf.cglib.proxy.Callbacks;
import net.sf.cglib.reflect.FastClass;
/**
@@ -93,11 +95,14 @@
assert server != null;
// get the factory
- Factory factory = Enhancer.create(
- Object.class,
- new Class[]{iface},
- new InterfaceCallbackFilter(iface),
- new SimpleCallbacks());
+ Enhancer enhancer = new Enhancer();
+ enhancer.setSuperclass(Object.class);
+ enhancer.setInterfaces(new Class[]{iface});
+ enhancer.setCallbackFilter(new InterfaceCallbackFilter(iface));
+ enhancer.setCallbacks(new SimpleCallbacks());
+ enhancer.setClassLoader(iface.getClassLoader());
+
+ Factory factory = enhancer.create();
// build the method table
if (objectName.isPattern()) {