[
https://issues.apache.org/activemq/browse/AMQ-2831?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gary Tully resolved AMQ-2831.
-----------------------------
Resolution: Fixed
The http transport now has an inactivity monitor, configure the http transport
url with a low inactivity timeout value and the server end of the http
transport will timeout when the client jvm crashes.
{code}http://localhost:61617??transport.readCheckTime=4000&transport.initialDelayTime=4000{code}
> 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: Colombo Marco
> Assignee: Gary Tully
> Priority: Blocker
> Fix For: 5.4.1
>
> Attachments: broker-config.xml, 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.