diff options
Diffstat (limited to 'qpid/java/systests/src/main/java/org/apache/qpid/test/utils/InternalBrokerHolder.java')
-rw-r--r-- | qpid/java/systests/src/main/java/org/apache/qpid/test/utils/InternalBrokerHolder.java | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/InternalBrokerHolder.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/InternalBrokerHolder.java index a76f79f8b0..9e8f0d1ca2 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/InternalBrokerHolder.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/InternalBrokerHolder.java @@ -21,16 +21,16 @@ package org.apache.qpid.test.utils; import java.security.PrivilegedAction; -import java.util.Map; import java.util.Set; +import javax.security.auth.Subject; + import org.apache.log4j.Logger; import org.apache.qpid.server.Broker; import org.apache.qpid.server.BrokerOptions; import org.apache.qpid.server.security.SecurityManager; - -import javax.security.auth.Subject; +import org.apache.qpid.server.util.Action; public class InternalBrokerHolder implements BrokerHolder { @@ -50,7 +50,14 @@ public class InternalBrokerHolder implements BrokerHolder { LOGGER.info("Starting internal broker (same JVM)"); - _broker = new Broker(); + _broker = new Broker(new Action<Integer>() + { + @Override + public void performAction(final Integer object) + { + _broker = null; + } + }); _broker.startup(options); } @@ -63,7 +70,10 @@ public class InternalBrokerHolder implements BrokerHolder @Override public Object run() { - _broker.shutdown(); + if(_broker != null) + { + _broker.shutdown(); + } return null; } |