[ 
https://issues.apache.org/activemq/browse/AMQ-696?page=comments#action_36415 ] 

james strachan commented on AMQ-696:
------------------------------------

Sanjiv - can you provide some kind of test case to demonstrate the problem - 
I'm not sure what you are doing and generally don't use the Spring 
DefaultMessageListenerContainer

> Client: XXX already connected exception when connection started after 
> consumers added
> -------------------------------------------------------------------------------------
>
>          Key: AMQ-696
>          URL: https://issues.apache.org/activemq/browse/AMQ-696
>      Project: ActiveMQ
>         Type: Bug

>   Components: Broker
>     Versions: 4.0 RC2, 4.0 RC3
>  Environment: WinXP
>     Reporter: Craig Day
>      Fix For: 4.0

>
>
> While using the new Spring-2.0 DefaultMessageListenerContainer I can reliably 
> reproduce the following exception on the broker side which usually results in 
> a hang on the client side:
>  
> The broker logs the following exception:
>  
> INFO  Service                        - Sync error occurred: 
> javax.jms.InvalidClientIDException: Broker: localhost - Client: 
> ID:inspiron-1410-114619274
> 7453-2:1 already connected
> javax.jms.InvalidClientIDException: Broker: localhost - Client: 
> ID:inspiron-1410-1146192747453-2:1 already connected
>         at 
> org.apache.activemq.broker.region.RegionBroker.addConnection(RegionBroker.java:154)
>         at 
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:65)
>         at 
> org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:69)
>         at 
> org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:65)
>         at 
> org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:77)
>         at 
> org.apache.activemq.broker.AbstractConnection.processAddConnection(AbstractConnection.java:500)
>         at 
> org.apache.activemq.broker.jmx.ManagedTransportConnection.processAddConnection(ManagedTransportConnection.java:82)
>         at 
> org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:106)
>         at 
> org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:196)
>         at 
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:62)
>         at 
> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:93)
>         at 
> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:70)
>         at 
> org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:114)
>         at 
> org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:122)
>         at 
> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:87)
>         at 
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:139)
>         at java.lang.Thread.run(Thread.java:595)
>  
> I have extrapolated the sequence of calls that 
> DefaultMessageListenerContainer is making and managed to produce a simple 
> test case that reproduces the problem:
>  
> import junit.framework.TestCase;
> import org.apache.activemq.ActiveMQConnectionFactory;
> import org.apache.activemq.command.ActiveMQQueue;
>  
> import javax.jms.*;
>  
> public class TestActiveMQ extends TestCase {
>  
>     public void testConnectionFactory() throws Exception {
>         final ActiveMQConnectionFactory cf = new 
> ActiveMQConnectionFactory("tcp://localhost:61616");
>         final ActiveMQQueue queue = new ActiveMQQueue("testqueue");
>         final Connection conn = cf.createConnection();
>  
>         Runnable r = new Runnable() {
>             public void run() {
>                 try {
>                     Session session = conn.createSession(false, 1);
>                     MessageConsumer consumer = session.createConsumer(queue, 
> null);
>                     Message msg = consumer.receive(1000);
>                 } catch (JMSException e) {
>                     e.printStackTrace();
>                 }
>             }
>         };
>         new Thread(r).start();
>         conn.start();
>  
>         try {
>             synchronized (this) {
>                 wait(3000);
>             }
>         } catch (InterruptedException e) {
>             e.printStackTrace();
>         }
>     }
> }
>  
> Let us know if you need anymore information. Dont want to scrub ActiveMQ from 
> my list of candidates If I can help it.
>  
> cheers
> craig
>  

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to