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 {