resolve ConnectorXBeanConfigTest, broker service needs to null more impls at shutdown to allow restart to find new impls of scheudaler etc. consequence of fixes for https://issues.apache.org/activemq/browse/AMQ-2620 and

https://issues.apache.org/activemq/browse/AMQ-2568

git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@947671 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Gary Tully 2010-05-24 15:36:14 +00:00
parent e1389a6acc
commit 35593638f5
1 changed files with 12 additions and 0 deletions

View File

@ -563,14 +563,19 @@ public class BrokerService implements Service {
VMTransportFactory.stopped(getBrokerName());
if (broker != null) {
stopper.stop(broker);
broker = null;
}
if (tempDataStore != null) {
tempDataStore.stop();
tempDataStore = null;
}
stopper.stop(persistenceAdapter);
persistenceAdapter = null;
slave = true;
if (isUseJmx()) {
stopper.stop(getManagementContext());
managementContext = null;
}
// Clear SelectorParser cache to free memory
SelectorParser.clearCache();
@ -596,13 +601,20 @@ public class BrokerService implements Service {
}
if (this.taskRunnerFactory != null) {
this.taskRunnerFactory.shutdown();
this.taskRunnerFactory = null;
}
if (this.scheduler != null) {
this.scheduler.stop();
this.scheduler = null;
}
if (this.executor != null) {
this.executor.shutdownNow();
this.executor = null;
}
this.destinationInterceptors = null;
this.destinationFactory = null;
LOG.info("ActiveMQ JMS Message Broker (" + getBrokerName() + ", " + brokerId + ") stopped");
synchronized (shutdownHooks) {
for (Runnable hook : shutdownHooks) {