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/05 18:00:42 UTC
svn commit: r1055526 -
/ode/branches/ode-1.3.5.x/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementMBean.java
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 {