[
https://issues.apache.org/activemq/browse/AMQ-2320?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=52850#action_52850
]
Eric commented on AMQ-2320:
---------------------------
Hi !
I didn't make the tests you asked me. But I have some news.
I used ConsumerEventSource objects to track consumers activity on JMS
destinations. And I found that I didn't manage correctly the stop() calls to
these objects.
I corrected my code. I think now that all my JMS ressources
(consumers,producers, sessions, connections), brokers, and now
ConsumerEventSource objects, are stopped and closed when I ask my processes to
disconnect from my brokers correctly, or when my connection exceptionListeners
discover that my network connectivity is broken (in this case, JMSException
thrown by JMS calls to close() are ignored).
In these conditions, it seems that all ActiveMQ Session threads are correctly
stopped without having to interrupt them. I have to do more tests to confirm
this.
I don't know if this is the waited behaviour or not.
Eric-AWL
> Session are not deleted when several processes terminate simultaneously in a
> "network of broker" complex configuration
> ----------------------------------------------------------------------------------------------------------------------
>
> Key: AMQ-2320
> URL: https://issues.apache.org/activemq/browse/AMQ-2320
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Affects Versions: 5.2.0
> Environment: Linux Redhat. JVM 1.6. AMQ 5.2
> Reporter: Eric
> Attachments: Pb AMQ Session.JPG
>
>
> I would like to add a schema. I hope I will be able to add it later. I don't
> see it
> I have 3 processes with one embedded broker (BSV, client, server) in the same
> network of brokers (non duplex but bi-directionnal).
> I have a fourth standalone broker
> My "client" and my "server" process are connected a second time with a
> "manual" tcp connection to the BSV process.
> My "client" and my "server" process are connected a third time with a
> "manual" tcp connection on the standalone broker.
> In this case, if my process BSV is stopped by an interrupt (CTRL-C) (which
> closes the embedded connection, and the embedded broker), and if
> simultaneously, I want to stop gracefully my "client" process (close all
> session, close all "manual" connection, stop embedded broker), one session
> thread stays up and never terminates
> "ActiveMQ Session: ID:td0sib01s.priv.atos.fr-51590-1247070640728-0:2:3"
> prio=10 tid=0x000000000e83a400 nid=0x5749 in Object.wait()
> [0x00000000469c8000..0x00000000469c8d10]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0x00002aaaca868380> (a java.lang.Object)
> at java.lang.Object.wait(Object.java:502)
> at
> org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:105)
> - locked <0x00002aaaca868380> (a java.lang.Object)
> at
> org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
> It is a session associated with the BSV link (I don't know if it is a session
> associated with the network of broker, or a session associated with my manual
> connection)
> A CTRL-C on the process terminates the process
> It doesn't happen if stop are not simultaneously done.
> Eric-AWL
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.