diff --git a/activemq-core/src/main/java/org/apache/activemq/transport/TransportServerThreadSupport.java b/activemq-core/src/main/java/org/apache/activemq/transport/TransportServerThreadSupport.java index ddfb0e7127..1fde3cbc5f 100644 --- a/activemq-core/src/main/java/org/apache/activemq/transport/TransportServerThreadSupport.java +++ b/activemq-core/src/main/java/org/apache/activemq/transport/TransportServerThreadSupport.java @@ -50,11 +50,7 @@ public abstract class TransportServerThreadSupport extends TransportServerSuppor public void start() throws Exception { if (started.compareAndSet(false, true)) { - log.info("Listening for connections at: " + getLocation()); - runner = new Thread(this, toString()); - runner.setDaemon(daemon); - runner.setPriority(ThreadPriorities.BROKER_MANAGEMENT); - runner.start(); + doStart(); } } @@ -117,5 +113,13 @@ public abstract class TransportServerThreadSupport extends TransportServerSuppor this.joinOnStop = joinOnStop; } + protected void doStart() { + log.info("Listening for connections at: " + getLocation()); + runner = new Thread(this, toString()); + runner.setDaemon(daemon); + runner.setPriority(ThreadPriorities.BROKER_MANAGEMENT); + runner.start(); + } + protected abstract void doStop(ServiceStopper stopper) throws Exception; }