[ 
https://issues.apache.org/jira/browse/AMQ-3692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13461113#comment-13461113
 ] 

metatech commented on AMQ-3692:
-------------------------------

Claus: it is a normal ShutdownHook : the object is created during broker 
creation, but the "run" method is only executed when the shutdown is triggered. 
 The thread started within the "run" has no loop : it only runs once and then 
terminates.  So I think there should be no additional thread termination 
mechanism.  
                
> 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

Reply via email to