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

Sanjiv Jivan commented on AMQ-696:
----------------------------------

oops, looks like I spoke too soon. With Active MQ 4.0 RC3, I used to get this 
exception as soon as the brokers were started. However with 4.0 final, on 
startup this exception does not occur. It shows up when messages are received 
by the broker. I'm using Spring-2.0 with DefaultMessageListenerContainer as 
well.

Here's the stacktrace :

2006-06-15 22:06:35,017 INFO 
[org.apache.activemq.broker.AbstractConnection.Service] - <Sync error occurred: 
javax.jms.InvalidClientIDException: Broker: localhost - Client: 
ID:weston-2030-1150416833580-1:0 already connected>
javax.jms.InvalidClientIDException: Broker: localhost - Client: 
ID:weston-2030-1150416833580-1:0 already connected
        at 
org.apache.activemq.broker.region.RegionBroker.addConnection(RegionBroker.java:176)
        at 
org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:69)
        at 
org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:69)
        at 
org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:69)
        at 
org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:82)
        at 
org.apache.activemq.broker.AbstractConnection.processAddConnection(AbstractConnection.java:507)
        at 
org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:118)
        at 
org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:201)
        at 
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:62)
        at 
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:97)
        at 
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:63)
        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:143)
        at java.lang.Thread.run(Thread.java:534)


> 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