[jboss-cvs] JBoss Messaging SVN: r2551 - in trunk/src/main/org/jboss: jms/server/connectionfactory and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Mar 16 11:33:06 EDT 2007


Author: timfox
Date: 2007-03-16 11:33:06 -0400 (Fri, 16 Mar 2007)
New Revision: 2551

Modified:
   trunk/src/main/org/jboss/jms/server/Version.java
   trunk/src/main/org/jboss/jms/server/connectionfactory/ConnectionFactory.java
   trunk/src/main/org/jboss/messaging/core/plugin/ClusteredPostOfficeService.java
Log:
Don't use Class.forName() directly use context class loader - also for getResourceAsStream()



Modified: trunk/src/main/org/jboss/jms/server/Version.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/Version.java	2007-03-15 23:18:18 UTC (rev 2550)
+++ trunk/src/main/org/jboss/jms/server/Version.java	2007-03-16 15:33:06 UTC (rev 2551)
@@ -126,7 +126,10 @@
       {
          Properties versionInfo = new Properties();
 
-         is = getClass().getClassLoader().getResourceAsStream(versionFile);
+         //Note we use the context classloader so this works in a scoped deployment
+         
+         is = Thread.currentThread().getContextClassLoader().getResourceAsStream(versionFile);
+         
          versionInfo.load(is);
 
          String s;

Modified: trunk/src/main/org/jboss/jms/server/connectionfactory/ConnectionFactory.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/connectionfactory/ConnectionFactory.java	2007-03-15 23:18:18 UTC (rev 2550)
+++ trunk/src/main/org/jboss/jms/server/connectionfactory/ConnectionFactory.java	2007-03-16 15:33:06 UTC (rev 2551)
@@ -295,7 +295,8 @@
          return;
       }
       
-      Class clz = Class.forName(factoryName);
+      //We don't use Class.forName() since then it won't work with scoped deployments
+      Class clz = Thread.currentThread().getContextClassLoader().loadClass(factoryName);
       
       loadBalancingFactory = (LoadBalancingFactory)clz.newInstance();
    }

Modified: trunk/src/main/org/jboss/messaging/core/plugin/ClusteredPostOfficeService.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/plugin/ClusteredPostOfficeService.java	2007-03-15 23:18:18 UTC (rev 2550)
+++ trunk/src/main/org/jboss/messaging/core/plugin/ClusteredPostOfficeService.java	2007-03-16 15:33:06 UTC (rev 2551)
@@ -384,10 +384,13 @@
          PersistenceManager pm = serverPeer.getPersistenceManagerInstance();
          int nodeId = serverPeer.getServerPeerID();
 
-         Class clazz = Class.forName(messagePullPolicy);
+         // We don't use Class.forName() since then it won't work with scoped deployments
+         Class clazz = Thread.currentThread().getContextClassLoader().loadClass(messagePullPolicy);
+         
          MessagePullPolicy pullPolicy = (MessagePullPolicy)clazz.newInstance();
 
-         clazz = Class.forName(clusterRouterFactory);
+         clazz = Thread.currentThread().getContextClassLoader().loadClass(clusterRouterFactory);
+         
          ClusterRouterFactory rf = (ClusterRouterFactory)clazz.newInstance();
 
          ConditionFactory cf = new JMSConditionFactory();




More information about the jboss-cvs-commits mailing list