[ https://issues.apache.org/jira/browse/AMQ-2974?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12989935#comment-12989935 ] Jignesh Boricha commented on AMQ-2974: -------------------------------------- This is exactly what we are experiencing. We are using mobile devices to connect to ActiveMQ broker using STOMP (1.5.1) and the same result. This also affects ActiveMQ version 5.4.2. > Set ClientID - InvalidClientIDException with stomp > -------------------------------------------------- > > Key: AMQ-2974 > URL: https://issues.apache.org/jira/browse/AMQ-2974 > Project: ActiveMQ > Issue Type: Bug > Components: Connector > Affects Versions: 5.4.0, 5.4.1 > Reporter: Tom > Attachments: MQAlreadyConnectedTest.cs > > > We are using the NMS stomp-client to communicate with ActiveMQ. Our Stomp-Clients are mobile devices connected via GSM and loose the connection from time to time. Therefore we are using durable subscriptions and the clients use a fixed but unique Client-ID. When they loose the connection they can't reconnect because the server doesn't release the (failed) connection. > The server log looks like this: > INFO | Transport failed: java.io.IOException: Broker: localhost - Client: client1 already connected from /xxx.xxx.xxx.xxx:yyyyy | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ Transport: tcp:///xxx.xxx.xxx.xxx:yyyyy > java.io.IOException: Broker: localhost - Client: client1 already connected from /xxx.xxx.xxx.xxx:zzzzz > at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:39) > at org.apache.activemq.transport.stomp.ProtocolConverter$2.onResponse(ProtocolConverter.java:510) > at org.apache.activemq.transport.stomp.ProtocolConverter.onActiveMQCommand(ProtocolConverter.java:579) > at org.apache.activemq.transport.stomp.StompTransportFilter.oneway(StompTransportFilter.java:58) > at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40) > at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1247) > at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:808) > at org.apache.activemq.broker.TransportConnection.dispatchSync(TransportConnection.java:768) > at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:187) > at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:69) > at org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:81) > at org.apache.activemq.transport.stomp.ProtocolConverter.sendToActiveMQ(ProtocolConverter.java:140) > at org.apache.activemq.transport.stomp.ProtocolConverter.onStompConnect(ProtocolConverter.java:503) > at org.apache.activemq.transport.stomp.ProtocolConverter.onStompCommand(ProtocolConverter.java:192) > at org.apache.activemq.transport.stomp.StompTransportFilter.onCommand(StompTransportFilter.java:70) > at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83) > at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:219) > at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:201) > at java.lang.Thread.run(Thread.java:636) > Caused by: javax.jms.InvalidClientIDException: Broker: localhost - Client: client1 already connected from /xxx.xxx.xxx.xxx:yyyyy > at org.apache.activemq.broker.region.RegionBroker.addConnection(RegionBroker.java:242) > at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85) > at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85) > at org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:78) > at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85) > at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85) > at org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:91) > at org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:694) > at org.apache.activemq.broker.jmx.ManagedTransportConnection.processAddConnection(ManagedTransportConnection.java:83) > at org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:137) > at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:309) > at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:185) > ... 10 more > At the same time the NMS-Client logs the following: > StompWireFormat - Received ERROR command: Broker: localhost - Client: client1 already connected from /xxx.xxx.xxx.xxx:yyyyy > The connection is not being released even after more than 10 minutes. I have to restart the ActiveMQ server to be able to reconnect earlier. > For me it looks quite similar to the following Issue: https://issues.apache.org/activemq/browse/AMQ-2831 -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira