[hornetq-commits] JBoss hornetq SVN: r9303 - trunk/src/main/org/hornetq/core/client/impl.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Jun 9 01:10:14 EDT 2010


Author: clebert.suconic at jboss.com
Date: 2010-06-09 01:10:13 -0400 (Wed, 09 Jun 2010)
New Revision: 9303

Modified:
   trunk/src/main/org/hornetq/core/client/impl/FailoverManagerImpl.java
Log:
https://jira.jboss.org/browse/HORNETQ-411 - fixing security block

Modified: trunk/src/main/org/hornetq/core/client/impl/FailoverManagerImpl.java
===================================================================
--- trunk/src/main/org/hornetq/core/client/impl/FailoverManagerImpl.java	2010-06-08 13:06:29 UTC (rev 9302)
+++ trunk/src/main/org/hornetq/core/client/impl/FailoverManagerImpl.java	2010-06-09 05:10:13 UTC (rev 9303)
@@ -14,6 +14,8 @@
 package org.hornetq.core.client.impl;
 
 import java.lang.ref.WeakReference;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
@@ -34,6 +36,7 @@
 import org.hornetq.api.core.client.ClientSession;
 import org.hornetq.api.core.client.ClientSessionFactory;
 import org.hornetq.api.core.client.SessionFailureListener;
+import org.hornetq.api.core.client.loadbalance.ConnectionLoadBalancingPolicy;
 import org.hornetq.core.logging.Logger;
 import org.hornetq.core.protocol.core.Channel;
 import org.hornetq.core.protocol.core.ChannelHandler;
@@ -486,7 +489,8 @@
                else
                {
                   HornetQException me = new HornetQException(HornetQException.INTERNAL_ERROR,
-                                                             "Failed to create session", t);
+                                                             "Failed to create session",
+                                                             t);
 
                   throw me;
                }
@@ -1033,17 +1037,24 @@
 
    private ConnectorFactory instantiateConnectorFactory(final String connectorFactoryClassName)
    {
-      ClassLoader loader = Thread.currentThread().getContextClassLoader();
-      try
+      return AccessController.doPrivileged(new PrivilegedAction<ConnectorFactory>()
       {
-         Class<?> clazz = loader.loadClass(connectorFactoryClassName);
-         return (ConnectorFactory)clazz.newInstance();
-      }
-      catch (Exception e)
-      {
-         throw new IllegalArgumentException("Error instantiating connector factory \"" + connectorFactoryClassName +
-                                            "\"", e);
-      }
+         public ConnectorFactory run()
+         {
+            ClassLoader loader = Thread.currentThread().getContextClassLoader();
+            try
+            {
+               Class<?> clazz = loader.loadClass(connectorFactoryClassName);
+               return (ConnectorFactory)clazz.newInstance();
+            }
+            catch (Exception e)
+            {
+               throw new IllegalArgumentException("Error instantiating connector factory \"" + connectorFactoryClassName +
+                                                  "\"", e);
+            }
+         }
+      });
+
    }
 
    private void lockChannel1()



More information about the hornetq-commits mailing list