activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "metatech (Created) (JIRA)" <>
Subject [jira] [Created] (AMQ-3692) ActiveMQ OSGi bundle should be stopped when broker stops itself
Date Tue, 31 Jan 2012 15:39:10 GMT
ActiveMQ OSGi bundle should be stopped when broker stops itself

                 Key: AMQ-3692
             Project: ActiveMQ
          Issue Type: Improvement
          Components: Broker
    Affects Versions: 5.4.2
         Environment: ServiceMix 4.3
            Reporter: metatech

In case of error, the ActiveMQ broker can stop itself.
In an OSGi/Blueprint environment, the bundle is however still in Active/Created state, which
misleads an external monitoring software into thinking that the broker is running fine.
This patch stops the bundle when the broker stops itself.

This patch can also auto-restart the bundle, which will restart the broker.
This is critical in an Master/Slave configuration : when the connection to the database is
lost, the broker cannot maintain the DB exclusive lock, and it stops itself.  The bundle should
be stopped and started again, so that it enters again the "Creating" state, in which it waits
to obtain the DB lock again.

The class "BrokerBundleWatcher" needs to be registered with the "shutdownHooks" property of
the ActiveMQ "BrokerService".  However, there is a limitation with the XBean syntax in a Blueprint
XML, which does not allow to define inner beans.  The workaround is to define the "activemq-broker.xml"
in full native Blueprint syntax (no XBean).

The patch also provides a modified version of the BrokerService, that injects its own reference
into the ShutdownHook's which implement the "BrokerServiceAware" interface.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message