[
https://issues.apache.org/jira/browse/AMQ-3692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13467613#comment-13467613
]
Gary Tully commented on AMQ-3692:
---------------------------------
there is also some overlap with
http://svn.apache.org/viewvc/activemq/trunk/activemq-spring/src/main/java/org/apache/activemq/hooks/SpringOsgiContextHook.java?view=markup
which is referenced, to implement simple bundle shutdown, with bean id=hook in
http://svn.apache.org/viewvc/activemq/trunk/activemq-karaf/src/main/resources/org/apache/activemq/karaf/commands/spring.xml?view=co&revision=1390204&content-type=text%2Fplain
The objective seems to be the same, but you have some extra restart smarts in
your patch.
I wonder can we combine the two in some way?
> ActiveMQ OSGi bundle should be stopped when broker stops itself
> ---------------------------------------------------------------
>
> Key: AMQ-3692
> URL: https://issues.apache.org/jira/browse/AMQ-3692
> Project: ActiveMQ
> Issue Type: New Feature
> Components: Broker
> Affects Versions: 5.4.2
> Environment: ServiceMix 4.3
> Reporter: metatech
> Fix For: 5.8.0
>
> Attachments: activemq-broker.xml, BrokerBundleWatcher.patch,
> BrokerBundleWatcher_v2.patch, BrokerService.patch
>
>
> 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
For more information on JIRA, see: http://www.atlassian.com/software/jira