[ 
https://issues.apache.org/activemq/browse/AMQ-1746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43243#action_43243
 ] 

Hari commented on AMQ-1746:
---------------------------

I have been working on this for a while now.  I tried a bunch of things. 

1) i made changes to RegionBroker.java in the addconnection so when a new 
connection request comes in and there is a oldcontext associated with the 
clientid then to explicitly close the old connection by getting it from the 
oldcontext and closing it. this solves the problem of having multiple 
connections on the server side to a client who has one connection from his side.

In a scenario where a client is disconnected for some reason(unpluggint he 
cable or the system crashing) and if there is no reconnect at all, there is 
noway the server knows to close the connection. server keeps sending to that 
connection. the outqueue on the socket increases to close to 98000 and then the 
server does not serve the other connected clients as well.

> ActiveMQ server does not release the connection on a reconnect
> --------------------------------------------------------------
>
>                 Key: AMQ-1746
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1746
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Connector
>    Affects Versions: 5.2.0
>         Environment: Redhat Linux , jdk 1.5_0_6
>            Reporter: Hari
>
> I have tried this with activemq 5.0,5.1 and latest snapshot of activemq as of 
> 20080521. I am using apacha nms.net client. On a connect it receives messages 
> and on a regular shutdown the connection is disconnected and everything 
> shutsdown w.r.t that connection in the server side. Now if there is network 
> issue or when we disable and enable the network from the client side , a 
> reconnect request is sent with a new clientid and the connection is 
> established.But the old connection is still active which is evident from a 
> netstat on the server machine. The client side netstat shows only the latest 
> connection which is on port 1870.
> tcp        0      0 ::ffff:10.1.30.60:51616     ::ffff:10.1.30.176:1828     
> ESTABLISHED 
> tcp        0      0 ::ffff:10.1.30.60:51616     ::ffff:10.1.30.176:1870     
> ESTABLISHED 
> The server is 10.1.30.60:51616. 

-- 
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