[ 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