You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@jakarta.apache.org by pm...@apache.org on 2011/10/18 22:58:08 UTC
svn commit: r1185853 - in /jakarta/jmeter/trunk:
src/protocol/jms/org/apache/jmeter/protocol/jms/
src/protocol/jms/org/apache/jmeter/protocol/jms/client/
src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/ xdocs/
Author: pmouawad
Date: Tue Oct 18 20:58:08 2011
New Revision: 1185853
URL: http://svn.apache.org/viewvc?rev=1185853&view=rev
Log:
Bug 52044 - JMS Subscriber used with many threads leads to javax.naming.NamingException: Something already bound with ActiveMQ
Performances impact of No Caching of InitialContext are low.
Modified:
jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/Utils.java
jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/InitialContextFactory.java
jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/Publisher.java
jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java
jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/PublisherSampler.java
jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/SubscriberSampler.java
jakarta/jmeter/trunk/xdocs/changes.xml
Modified: jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/Utils.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/Utils.java?rev=1185853&r1=1185852&r2=1185853&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/Utils.java (original)
+++ jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/Utils.java Tue Oct 18 20:58:08 2011
@@ -39,6 +39,21 @@ import org.apache.log.Logger;
*/
public final class Utils {
+ /**
+ * Close context
+ * @param closeable {@link Context}
+ * @param log {@link Logger}
+ */
+ public static void close(Context closeable, Logger log) {
+ if (closeable != null){
+ try {
+ closeable.close();
+ } catch (Exception e) {
+ log.error("Error during close: ", e);
+ }
+ }
+ }
+
public static void close(MessageConsumer closeable, Logger log){
if (closeable != null){
try {
@@ -162,5 +177,4 @@ public final class Utils {
}
throw new NamingException("Expected javax.jms.ConnectionFactory, found "+objfac.getClass().getName());
}
-
}
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=1185853&r1=1185852&r2=1185853&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 Tue Oct 18 20:58:08 2011
@@ -48,7 +48,9 @@ public class InitialContextFactory {
* @param securityCredentials used to set the property {@link Context#SECURITY_CREDENTIALS}
* @return the context, never null
* @throws NamingException
+ * @{@link Deprecated} No more caching of {@link Context}s
*/
+ @Deprecated
public static Context lookupContext(String initialContextFactory,
String providerUrl, boolean useAuth, String securityPrincipal, String securityCredentials) throws NamingException {
String cacheKey = createKey(initialContextFactory ,providerUrl, securityPrincipal, securityCredentials);
@@ -88,13 +90,47 @@ public class InitialContextFactory {
}
/**
+ * Create context
+ *
+ * @param initialContextFactory used to set the property {@link Context#INITIAL_CONTEXT_FACTORY}
+ * @param providerUrl used to set the property {@link Context#PROVIDER_URL}
+ * @param useAuth set true if security is to be used.
+ * @param securityPrincipal used to set the property {@link Context#SECURITY_PRINCIPAL}
+ * @param securityCredentials used to set the property {@link Context#SECURITY_CREDENTIALS}
+ * @return the context, never null
+ * @throws NamingException
+ */
+ private static Context lookupContextNoCache(String initialContextFactory,
+ String providerUrl, boolean useAuth, String securityPrincipal, String securityCredentials) throws NamingException {
+ Properties props = new Properties();
+ props.setProperty(Context.INITIAL_CONTEXT_FACTORY, initialContextFactory);
+ props.setProperty(Context.PROVIDER_URL, providerUrl);
+ if (useAuth && securityPrincipal != null && securityCredentials != null
+ && securityPrincipal.length() > 0 && securityCredentials.length() > 0) {
+ props.setProperty(Context.SECURITY_PRINCIPAL, securityPrincipal);
+ props.setProperty(Context.SECURITY_CREDENTIALS, securityCredentials);
+ log.info("authentication properties set");
+ }
+ try {
+ return new InitialContext(props);
+ } catch (NoClassDefFoundError e){
+ throw new NamingException(e.toString());
+ } catch (Exception e) {
+ throw new NamingException(e.toString());
+ }
+ }
+
+
+ /**
* Create cache key
* @param initialContextFactory
* @param providerUrl
* @param securityPrincipal
* @param securityCredentials
* @return
+ *@deprecated No more caching of {@link Context}s
*/
+ @Deprecated
private static String createKey(String initialContextFactory,
String providerUrl, String securityPrincipal,
String securityCredentials) {
@@ -138,13 +174,15 @@ public class InitialContextFactory {
throw new NamingException(e.toString());
}
} else {
- return lookupContext(initialContextFactory, providerUrl, useAuth, securityPrincipal, securityCredentials);
+ return lookupContextNoCache(initialContextFactory, providerUrl, useAuth, securityPrincipal, securityCredentials);
}
}
/**
* clear all the InitialContext objects.
+ * @deprecated No more caching of {@link Context}s
*/
+ @Deprecated
public static void close() {
for (Context ctx : MAP.values()) {
try {
Modified: jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/Publisher.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/Publisher.java?rev=1185853&r1=1185852&r2=1185853&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/Publisher.java (original)
+++ jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/Publisher.java Tue Oct 18 20:58:08 2011
@@ -176,5 +176,6 @@ public class Publisher implements Closea
Utils.close(producer, log);
Utils.close(session, log);
Utils.close(connection, log);
+ Utils.close(ctx, log);
}
}
Modified: jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java?rev=1185853&r1=1185852&r2=1185853&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java (original)
+++ jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java Tue Oct 18 20:58:08 2011
@@ -154,8 +154,9 @@ public class ReceiveSubscriber implement
String durableSubscriptionId, String clientId, String jmsSelector, boolean useAuth,
String securityPrincipal, String securityCredentials, boolean useMessageListener) throws NamingException, JMSException {
boolean initSuccess = false;
+ Context ctx = null;
try{
- Context ctx = InitialContextFactory.getContext(useProps,
+ ctx = InitialContextFactory.getContext(useProps,
initialContextFactory, providerUrl, useAuth, securityPrincipal, securityCredentials);
CONN = Utils.getConnection(ctx, connfactory);
if(!isEmpty(clientId)) {
@@ -181,6 +182,7 @@ public class ReceiveSubscriber implement
if(!initSuccess) {
close();
}
+ Utils.close(ctx, log);
}
}
Modified: jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/PublisherSampler.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/PublisherSampler.java?rev=1185853&r1=1185852&r2=1185853&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/PublisherSampler.java (original)
+++ jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/PublisherSampler.java Tue Oct 18 20:58:08 2011
@@ -26,19 +26,16 @@ import javax.jms.JMSException;
import javax.jms.Message;
import javax.naming.NamingException;
-import org.apache.jorphan.io.TextFile;
-import org.apache.jmeter.samplers.SampleResult;
-import org.apache.jmeter.services.FileServer;
-import org.apache.jmeter.testelement.TestListener;
-import org.apache.jmeter.util.JMeterUtils;
import org.apache.jmeter.engine.event.LoopIterationEvent;
-
import org.apache.jmeter.protocol.jms.Utils;
-import org.apache.jmeter.protocol.jms.control.gui.JMSPublisherGui;
import org.apache.jmeter.protocol.jms.client.ClientPool;
-import org.apache.jmeter.protocol.jms.client.InitialContextFactory;
import org.apache.jmeter.protocol.jms.client.Publisher;
-
+import org.apache.jmeter.protocol.jms.control.gui.JMSPublisherGui;
+import org.apache.jmeter.samplers.SampleResult;
+import org.apache.jmeter.services.FileServer;
+import org.apache.jmeter.testelement.TestListener;
+import org.apache.jmeter.util.JMeterUtils;
+import org.apache.jorphan.io.TextFile;
import org.apache.jorphan.logging.LoggingManager;
import org.apache.log.Logger;
@@ -97,7 +94,6 @@ public class PublisherSampler extends Ba
public void testEnded() {
log.debug("PublisherSampler.testEnded called");
ClientPool.clearClient();
- InitialContextFactory.close();
}
public void testStarted() {
Modified: jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/SubscriberSampler.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/SubscriberSampler.java?rev=1185853&r1=1185852&r2=1185853&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/SubscriberSampler.java (original)
+++ jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/SubscriberSampler.java Tue Oct 18 20:58:08 2011
@@ -27,7 +27,6 @@ import javax.naming.NamingException;
import org.apache.jmeter.engine.event.LoopIterationEvent;
import org.apache.jmeter.protocol.jms.Utils;
-import org.apache.jmeter.protocol.jms.client.InitialContextFactory;
import org.apache.jmeter.protocol.jms.client.ReceiveSubscriber;
import org.apache.jmeter.protocol.jms.control.gui.JMSSubscriberGui;
import org.apache.jmeter.samplers.Interruptible;
@@ -415,7 +414,7 @@ public class SubscriberSampler extends B
* {@inheritDoc}
*/
public void testEnded() {
- InitialContextFactory.close();
+ // NOOP
}
/**
Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=1185853&r1=1185852&r2=1185853&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Tue Oct 18 20:58:08 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: notifications-unsubscribe@jakarta.apache.org
For additional commands, e-mail: notifications-help@jakarta.apache.org
Re: svn commit: r1185853 - in /jakarta/jmeter/trunk:
src/protocol/jms/org/apache/jmeter/protocol/jms/ src/protocol/jms/org/apache/jmeter/protocol/jms/client/
src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/ xdocs/
Posted by sebb <se...@gmail.com>.
On 18 October 2011 21:58, <pm...@apache.org> wrote:
> Author: pmouawad
> Date: Tue Oct 18 20:58:08 2011
> New Revision: 1185853
>
> URL: http://svn.apache.org/viewvc?rev=1185853&view=rev
> Log:
> Bug 52044 - JMS Subscriber used with many threads leads to javax.naming.NamingException: Something already bound with ActiveMQ
>
> Performances impact of No Caching of InitialContext are low.
-1
I now think this is the wrong solution, and could have a negative impact.
Please revert these changes; we need to discuss further on the dev list.
> Modified:
> jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/Utils.java
> jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/InitialContextFactory.java
> jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/Publisher.java
> jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java
> jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/PublisherSampler.java
> jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/SubscriberSampler.java
> jakarta/jmeter/trunk/xdocs/changes.xml
>
> Modified: jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/Utils.java
> URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/Utils.java?rev=1185853&r1=1185852&r2=1185853&view=diff
> ==============================================================================
> --- jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/Utils.java (original)
> +++ jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/Utils.java Tue Oct 18 20:58:08 2011
> @@ -39,6 +39,21 @@ import org.apache.log.Logger;
> */
> public final class Utils {
>
> + /**
> + * Close context
> + * @param closeable {@link Context}
> + * @param log {@link Logger}
> + */
> + public static void close(Context closeable, Logger log) {
> + if (closeable != null){
> + try {
> + closeable.close();
> + } catch (Exception e) {
> + log.error("Error during close: ", e);
> + }
> + }
> + }
> +
> public static void close(MessageConsumer closeable, Logger log){
> if (closeable != null){
> try {
> @@ -162,5 +177,4 @@ public final class Utils {
> }
> throw new NamingException("Expected javax.jms.ConnectionFactory, found "+objfac.getClass().getName());
> }
> -
> }
>
> 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=1185853&r1=1185852&r2=1185853&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 Tue Oct 18 20:58:08 2011
> @@ -48,7 +48,9 @@ public class InitialContextFactory {
> * @param securityCredentials used to set the property {@link Context#SECURITY_CREDENTIALS}
> * @return the context, never null
> * @throws NamingException
> + * @{@link Deprecated} No more caching of {@link Context}s
> */
> + @Deprecated
> public static Context lookupContext(String initialContextFactory,
> String providerUrl, boolean useAuth, String securityPrincipal, String securityCredentials) throws NamingException {
> String cacheKey = createKey(initialContextFactory ,providerUrl, securityPrincipal, securityCredentials);
> @@ -88,13 +90,47 @@ public class InitialContextFactory {
> }
>
> /**
> + * Create context
> + *
> + * @param initialContextFactory used to set the property {@link Context#INITIAL_CONTEXT_FACTORY}
> + * @param providerUrl used to set the property {@link Context#PROVIDER_URL}
> + * @param useAuth set true if security is to be used.
> + * @param securityPrincipal used to set the property {@link Context#SECURITY_PRINCIPAL}
> + * @param securityCredentials used to set the property {@link Context#SECURITY_CREDENTIALS}
> + * @return the context, never null
> + * @throws NamingException
> + */
> + private static Context lookupContextNoCache(String initialContextFactory,
> + String providerUrl, boolean useAuth, String securityPrincipal, String securityCredentials) throws NamingException {
> + Properties props = new Properties();
> + props.setProperty(Context.INITIAL_CONTEXT_FACTORY, initialContextFactory);
> + props.setProperty(Context.PROVIDER_URL, providerUrl);
> + if (useAuth && securityPrincipal != null && securityCredentials != null
> + && securityPrincipal.length() > 0 && securityCredentials.length() > 0) {
> + props.setProperty(Context.SECURITY_PRINCIPAL, securityPrincipal);
> + props.setProperty(Context.SECURITY_CREDENTIALS, securityCredentials);
> + log.info("authentication properties set");
> + }
> + try {
> + return new InitialContext(props);
> + } catch (NoClassDefFoundError e){
> + throw new NamingException(e.toString());
> + } catch (Exception e) {
> + throw new NamingException(e.toString());
> + }
> + }
> +
> +
> + /**
> * Create cache key
> * @param initialContextFactory
> * @param providerUrl
> * @param securityPrincipal
> * @param securityCredentials
> * @return
> + *@deprecated No more caching of {@link Context}s
> */
> + @Deprecated
> private static String createKey(String initialContextFactory,
> String providerUrl, String securityPrincipal,
> String securityCredentials) {
> @@ -138,13 +174,15 @@ public class InitialContextFactory {
> throw new NamingException(e.toString());
> }
> } else {
> - return lookupContext(initialContextFactory, providerUrl, useAuth, securityPrincipal, securityCredentials);
> + return lookupContextNoCache(initialContextFactory, providerUrl, useAuth, securityPrincipal, securityCredentials);
> }
> }
>
> /**
> * clear all the InitialContext objects.
> + * @deprecated No more caching of {@link Context}s
> */
> + @Deprecated
> public static void close() {
> for (Context ctx : MAP.values()) {
> try {
>
> Modified: jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/Publisher.java
> URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/Publisher.java?rev=1185853&r1=1185852&r2=1185853&view=diff
> ==============================================================================
> --- jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/Publisher.java (original)
> +++ jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/Publisher.java Tue Oct 18 20:58:08 2011
> @@ -176,5 +176,6 @@ public class Publisher implements Closea
> Utils.close(producer, log);
> Utils.close(session, log);
> Utils.close(connection, log);
> + Utils.close(ctx, log);
> }
> }
>
> Modified: jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java
> URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java?rev=1185853&r1=1185852&r2=1185853&view=diff
> ==============================================================================
> --- jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java (original)
> +++ jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java Tue Oct 18 20:58:08 2011
> @@ -154,8 +154,9 @@ public class ReceiveSubscriber implement
> String durableSubscriptionId, String clientId, String jmsSelector, boolean useAuth,
> String securityPrincipal, String securityCredentials, boolean useMessageListener) throws NamingException, JMSException {
> boolean initSuccess = false;
> + Context ctx = null;
> try{
> - Context ctx = InitialContextFactory.getContext(useProps,
> + ctx = InitialContextFactory.getContext(useProps,
> initialContextFactory, providerUrl, useAuth, securityPrincipal, securityCredentials);
> CONN = Utils.getConnection(ctx, connfactory);
> if(!isEmpty(clientId)) {
> @@ -181,6 +182,7 @@ public class ReceiveSubscriber implement
> if(!initSuccess) {
> close();
> }
> + Utils.close(ctx, log);
> }
> }
>
>
> Modified: jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/PublisherSampler.java
> URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/PublisherSampler.java?rev=1185853&r1=1185852&r2=1185853&view=diff
> ==============================================================================
> --- jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/PublisherSampler.java (original)
> +++ jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/PublisherSampler.java Tue Oct 18 20:58:08 2011
> @@ -26,19 +26,16 @@ import javax.jms.JMSException;
> import javax.jms.Message;
> import javax.naming.NamingException;
>
> -import org.apache.jorphan.io.TextFile;
> -import org.apache.jmeter.samplers.SampleResult;
> -import org.apache.jmeter.services.FileServer;
> -import org.apache.jmeter.testelement.TestListener;
> -import org.apache.jmeter.util.JMeterUtils;
> import org.apache.jmeter.engine.event.LoopIterationEvent;
> -
> import org.apache.jmeter.protocol.jms.Utils;
> -import org.apache.jmeter.protocol.jms.control.gui.JMSPublisherGui;
> import org.apache.jmeter.protocol.jms.client.ClientPool;
> -import org.apache.jmeter.protocol.jms.client.InitialContextFactory;
> import org.apache.jmeter.protocol.jms.client.Publisher;
> -
> +import org.apache.jmeter.protocol.jms.control.gui.JMSPublisherGui;
> +import org.apache.jmeter.samplers.SampleResult;
> +import org.apache.jmeter.services.FileServer;
> +import org.apache.jmeter.testelement.TestListener;
> +import org.apache.jmeter.util.JMeterUtils;
> +import org.apache.jorphan.io.TextFile;
> import org.apache.jorphan.logging.LoggingManager;
> import org.apache.log.Logger;
>
> @@ -97,7 +94,6 @@ public class PublisherSampler extends Ba
> public void testEnded() {
> log.debug("PublisherSampler.testEnded called");
> ClientPool.clearClient();
> - InitialContextFactory.close();
> }
>
> public void testStarted() {
>
> Modified: jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/SubscriberSampler.java
> URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/SubscriberSampler.java?rev=1185853&r1=1185852&r2=1185853&view=diff
> ==============================================================================
> --- jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/SubscriberSampler.java (original)
> +++ jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/SubscriberSampler.java Tue Oct 18 20:58:08 2011
> @@ -27,7 +27,6 @@ import javax.naming.NamingException;
>
> import org.apache.jmeter.engine.event.LoopIterationEvent;
> import org.apache.jmeter.protocol.jms.Utils;
> -import org.apache.jmeter.protocol.jms.client.InitialContextFactory;
> import org.apache.jmeter.protocol.jms.client.ReceiveSubscriber;
> import org.apache.jmeter.protocol.jms.control.gui.JMSSubscriberGui;
> import org.apache.jmeter.samplers.Interruptible;
> @@ -415,7 +414,7 @@ public class SubscriberSampler extends B
> * {@inheritDoc}
> */
> public void testEnded() {
> - InitialContextFactory.close();
> + // NOOP
> }
>
> /**
>
> Modified: jakarta/jmeter/trunk/xdocs/changes.xml
> URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=1185853&r1=1185852&r2=1185853&view=diff
> ==============================================================================
> --- jakarta/jmeter/trunk/xdocs/changes.xml (original)
> +++ jakarta/jmeter/trunk/xdocs/changes.xml Tue Oct 18 20:58:08 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: notifications-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: notifications-help@jakarta.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: dev-help@jakarta.apache.org