You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by va...@apache.org on 2011/01/06 19:15:58 UTC

svn commit: r1055981 - /ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementMBean.java

Author: vanto
Date: Thu Jan  6 18:15:58 2011
New Revision: 1055981

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

Modified:
    ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementMBean.java

Modified: ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementMBean.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementMBean.java?rev=1055981&r1=1055980&r2=1055981&view=diff
==============================================================================
--- ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementMBean.java (original)
+++ ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementMBean.java Thu Jan  6 18:15:58 2011
@@ -114,7 +114,9 @@ public class ProcessAndInstanceManagemen
 
     public Object invoke(String actionName, Object[] params, String[] signature)
             throws MBeanException, ReflectionException {
+		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,6 +124,8 @@ public class ProcessAndInstanceManagemen
             return m.invoke(_pm, params);
         } catch (Exception e) {
             throw new ReflectionException(e);
+		} finally {
+            Thread.currentThread().setContextClassLoader(cl);
         }
     }