activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ying (JIRA)" <j...@apache.org>
Subject [jira] Created: (AMQ-2070) activemq process does not exit after stop() and other stop related issue
Date Fri, 16 Jan 2009 18:43:00 GMT
activemq process does not exit after stop() and other stop related issue
------------------------------------------------------------------------

                 Key: AMQ-2070
                 URL: https://issues.apache.org/activemq/browse/AMQ-2070
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
    Affects Versions: 5.2.0
         Environment: windows xp and solaris
            Reporter: ying
         Attachments: patchActiveMQCore5.2.0-Stop-JMX

There are a few issues to stop activemq
1. using jconsole and call broker.stop(), the java process of activemq will not quit, the
root cause is when jetty is configured using xbean in activemq.xml, the broker.stop() does
not stop jetty server so the java process will not quit, however the web admin will not work
after broker.stop() and will display jsp exceptions.
2. the current activemq-console code which activemq-admin is using to do stop broker is calling
terminateJVM and does not handle exceptions thrown
3. we have a use case when we stop a broker, we don't want any pending messages stuck in the
broker, because it requires us to restart the broker immediately to not to lose those pending
messages.It will be a problem if in real world we cannot restart it right away and those pending
messages are critical. 
The solution we thought is as follows:
What we want is to use the current network of brokers forwarding mechanism to forward those
pending messages to other broker which has a related consumer, then stop the broker completely
and we don't need to restart the stopped broker right away. for example, we have a network
of two brokers, A, and B, the client(producer/consumer) is using failover://(tcp:brokerA:port1,
tcp:brokerB:port1), then when we want to stop A and it has 10 pending messages, we want stop
A's transport that the client is connecting to, so client will failover to broker B, then
10 pending messages will be forwarded to broker B, then we can stop the broker A completely.

To address the above issues, attached are two patches, one for activemq-core and one for activemq-console,
both patches are based on tags/activemq-5.2.0 please review them and I will appreciate if
it can be applied to trunk. If you have any question regarding these changes, please let me
know. Thank you.



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


Mime
View raw message