activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sanjiv Jivan (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AMQ-696) Client: XXX already connected exception when connection started after consumers added
Date Fri, 16 Jun 2006 02:08:51 GMT
    [ 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


Mime
View raw message