ARTEMIS-4030 Fix SharedStoreLiveActivation race condition
DefaultCriticalErrorListener stops the server while SharedStoreLiveActivation is initializing it.
This commit is contained in:
parent
42529899d0
commit
3a5e4ce363
|
@ -85,16 +85,18 @@ public final class SharedStoreLiveActivation extends LiveActivation {
|
|||
nodeManagerActivateCallback = activeMQServer.getNodeManager().startLiveNode();
|
||||
activeMQServer.registerActivateCallback(nodeManagerActivateCallback);
|
||||
|
||||
if (activeMQServer.getState() == ActiveMQServerImpl.SERVER_STATE.STOPPED
|
||||
synchronized (activeMQServer) {
|
||||
if (activeMQServer.getState() == ActiveMQServerImpl.SERVER_STATE.STOPPED
|
||||
|| activeMQServer.getState() == ActiveMQServerImpl.SERVER_STATE.STOPPING) {
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
activeMQServer.initialisePart2(false);
|
||||
|
||||
activeMQServer.completeActivation(false);
|
||||
|
||||
ActiveMQServerLogger.LOGGER.serverIsLive();
|
||||
}
|
||||
|
||||
activeMQServer.initialisePart2(false);
|
||||
|
||||
activeMQServer.completeActivation(false);
|
||||
|
||||
ActiveMQServerLogger.LOGGER.serverIsLive();
|
||||
} catch (NodeManagerException nodeManagerException) {
|
||||
if (nodeManagerException.getCause() instanceof ClosedChannelException) {
|
||||
// this is ok, we are being stopped
|
||||
|
|
Loading…
Reference in New Issue