Author: vanto
Date: Wed Jan  5 17:00:42 2011
New Revision: 1055526

URL: http://svn.apache.org/viewvc?rev=1055526&view=rev
Log:
fixes a classloading issue with JMX on SMX 4 (Kudos to Kurt Westerfeld).

Modified:
    
ode/branches/ode-1.3.5.x/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementMBean.java

Modified: 
ode/branches/ode-1.3.5.x/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementMBean.java
URL: 
http://svn.apache.org/viewvc/ode/branches/ode-1.3.5.x/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementMBean.java?rev=1055526&r1=1055525&r2=1055526&view=diff
==============================================================================
--- 
ode/branches/ode-1.3.5.x/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementMBean.java
 (original)
+++ 
ode/branches/ode-1.3.5.x/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementMBean.java
 Wed Jan  5 17:00:42 2011
@@ -114,7 +114,9 @@ public class ProcessAndInstanceManagemen
 
        public Object invoke(String actionName, Object[] params, String[] 
signature)
                        throws MBeanException, ReflectionException {
-               try {
+               ClassLoader cl = Thread.currentThread().getContextClassLoader();
+        try {
+            
Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
                        Method m = _pm.getClass().getMethod(actionName, 
findTypes(_pm.getClass().getClassLoader(), signature));
                        if (m == null) {
                                throw new ReflectionException(new 
NoSuchMethodException(actionName));
@@ -122,7 +124,9 @@ public class ProcessAndInstanceManagemen
                        return m.invoke(_pm, params);
                } catch (Exception e) {
                        throw new ReflectionException(e);
-               }
+               } finally {
+            Thread.currentThread().setContextClassLoader(cl);
+        }
        }
 
        private Class[] findTypes(ClassLoader loader, String[] signature) 
throws ReflectionException {


Reply via email to