[jboss-cvs] JBoss Messaging SVN: r3565 - branches/Branch_1_4_0_SP/src/main/org/jboss/jms/server.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Jan 15 02:49:27 EST 2008
Author: scott.stark at jboss.org
Date: 2008-01-15 02:49:27 -0500 (Tue, 15 Jan 2008)
New Revision: 3565
Modified:
branches/Branch_1_4_0_SP/src/main/org/jboss/jms/server/ServerPeer.java
Log:
Generalize the destination mbean class loader object name access using reflection
Modified: branches/Branch_1_4_0_SP/src/main/org/jboss/jms/server/ServerPeer.java
===================================================================
--- branches/Branch_1_4_0_SP/src/main/org/jboss/jms/server/ServerPeer.java 2008-01-15 07:43:42 UTC (rev 3564)
+++ branches/Branch_1_4_0_SP/src/main/org/jboss/jms/server/ServerPeer.java 2008-01-15 07:49:27 UTC (rev 3565)
@@ -25,6 +25,7 @@
import java.io.CharArrayWriter;
import java.io.InputStream;
import java.io.PrintWriter;
+import java.lang.reflect.Method;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
@@ -1481,10 +1482,19 @@
ClassLoader cl = this.getClass().getClassLoader();
ObjectName loaderObjectName = null;
- if (cl instanceof UnifiedClassLoader3)
+ // Try reflection for getObjectName on the class loader
+ Class[] sig = {};
+ Method getObjectName = cl.getClass().getMethod("getObjectName", sig);
+ try
{
- loaderObjectName = ((UnifiedClassLoader3)cl).getObjectName();
+ Object[] args = {};
+ loaderObjectName = (ObjectName) getObjectName.invoke(cl, args);
}
+ catch(Throwable e)
+ {
+ if(log.isTraceEnabled())
+ log.trace("Failed to find/invoke getObjectName", e);
+ }
sc.install(on, loaderObjectName, element);
More information about the jboss-cvs-commits
mailing list