Author: pmouawad
Date: Wed Oct 19 20:51:36 2011
New Revision: 1186482

URL: http://svn.apache.org/viewvc?rev=1186482&view=rev
Log:
Bug 52044 - JMS Subscriber used with many threads leads to 
javax.naming.NamingException: Something already bound with ActiveMQ

Added ThreadId in cache key

Modified:
    
jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/InitialContextFactory.java
    jakarta/jmeter/trunk/xdocs/changes.xml

Modified: 
jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/InitialContextFactory.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/InitialContextFactory.java?rev=1186482&r1=1186481&r2=1186482&view=diff
==============================================================================
--- 
jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/InitialContextFactory.java
 (original)
+++ 
jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/InitialContextFactory.java
 Wed Oct 19 20:51:36 2011
@@ -51,7 +51,7 @@ public class InitialContextFactory {
      */
     public static Context lookupContext(String initialContextFactory, 
             String providerUrl, boolean useAuth, String securityPrincipal, 
String securityCredentials) throws NamingException {
-        String cacheKey = createKey(initialContextFactory ,providerUrl, 
securityPrincipal, securityCredentials);
+        String cacheKey = 
createKey(Thread.currentThread().getId(),initialContextFactory ,providerUrl, 
securityPrincipal, securityCredentials);
         Context ctx = MAP.get(cacheKey);
         if (ctx == null) {
             Properties props = new Properties();
@@ -89,16 +89,21 @@ public class InitialContextFactory {
 
     /**
      * Create cache key
+     * @param threadId Thread Id
      * @param initialContextFactory
      * @param providerUrl
      * @param securityPrincipal
      * @param securityCredentials
      * @return
      */
-    private static String createKey(String initialContextFactory,
+    private static String createKey(
+            long threadId,
+            String initialContextFactory,
             String providerUrl, String securityPrincipal,
             String securityCredentials) {
        StringBuilder builder = new StringBuilder();
+       builder.append(threadId);
+       builder.append("#");
        builder.append(initialContextFactory);
        builder.append("#");
        builder.append(providerUrl);

Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=1186482&r1=1186481&r2=1186482&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Wed Oct 19 20:51:36 2011
@@ -97,6 +97,7 @@ Mirror server now uses default port 8081
 <li>Bug 51996 - JMS Initial Context leak newly created Context when Multiple 
Thread enter InitialContextFactory#lookupContext at the same time</li>
 <li>Bug 51691 - Authorization does not work for JMS Publisher and JMS 
Subscriber</li>
 <li>Bug 52036 - Durable Subscription fails with ActiveMQ due to missing 
clientId field</li>
+<li>Bug 52044 - JMS Subscriber used with many threads leads to 
javax.naming.NamingException: Something already bound with ActiveMQ</li>
 </ul>
 
 <h3>Controllers</h3>



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to