Set ClientID - InvalidClientIDException with http transport
-----------------------------------------------------------

                 Key: AMQ-2831
                 URL: https://issues.apache.org/activemq/browse/AMQ-2831
             Project: ActiveMQ
          Issue Type: Bug
          Components: Transport
    Affects Versions: 5.3.2
            Reporter: Coombo Marco
             Fix For: 5.4.0
         Attachments: TestVaseClientID.zip

I have a client that do a durable subscriptio to a topic.
It register with a static client id.

After a connectivity loss (an so a new re-connection), this exception is thrown 
and connection cannot be
re-established:

2010-07-15 13:49:04,700 ERROR - javax.jms.InvalidClientIDException: Broker: 
localhost - Client: (SchedulerId = '1') already connected from 
blockingQueue_8461294
        at 
org.apache.activemq.broker.region.RegionBroker.addConnection(RegionBroker.java:216)
        at 
org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:82)
        at 
org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:82)
        at 
org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:77)
        at 
org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:82)
        at 
org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:82)
....

This is not possible, because is the only client with that name and previos 
connection was closed . .close().

If I kill all the clients an I leave active only the broker,
If I try to reconnect using http (or tcp) I get the same error.
So client is not de-registered.
This appens also if I use failover protocol. After client kill/restart. Same 
exception is raised (javax.jms.InvalidClientIDException - with the clientID of 
the killed client).

I have to restart broker in order to register again the client. 

A test case is attached. 
If you connect to http the first time, connection is ok.
If you kill the JVM and the try to restart the test case, 'myclid already 
connected from blockingQueue_' is always raised. Also after some hours. I have 
to restart the broker in order to have a new conection with that client id.

This test simulate a JVM crash with no resource cleanup.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to