I assume this is part of the same network of brokers configuration as your other questions.
When a broker starts, one of the first things it does is connect to the other brokers in its configuration, which involves sending commands back and forth. This is *after* start completes, so if you stop immediately after start completes, you'll have stopped before those commands arrive. Add a sleep (5 seconds?) after start completes before you stop and see if those exceptions go away. On Jun 19, 2015 6:07 AM, "pubudu gunawardena" <[email protected]> wrote: > Sorry the stacktrace in prevoius reply is wrong. Following is the full > output when running the program. > > > log4j:WARN No appenders could be found for logger > (org.apache.activemq.broker.jmx.ManagementContext). > log4j:WARN Please initialize the log4j system properly. > log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig > for more info. > Exception in thread "ActiveMQ VMTransport: vm://localhost#1-1" > Exception in thread "ActiveMQ VMTransport: vm://localhost#1-2" > org.apache.activemq.broker.BrokerStoppedException: Broker > BrokerService[localhost] is being stopped > at > org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:193) > at > org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116) > at > org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) > at > org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:248) > at > org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:133) > at > org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > org.apache.activemq.broker.BrokerStoppedException: Broker > BrokerService[localhost] is being stopped > at > org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:193) > at > org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116) > at > org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) > at > org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:248) > at > org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:133) > at > org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > Exception in thread "ActiveMQ VMTransport: vm://localhost#1-5" > org.apache.activemq.broker.BrokerStoppedException: Broker > BrokerService[localhost] is being stopped > at > org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:193) > at > org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116) > at > org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) > at > org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:248) > at > org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:133) > at > org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > > > On Fri, Jun 19, 2015 at 5:36 PM, pubudu gunawardena <[email protected]> > wrote: > > Following is the full tracktrace output > > > > Exception in thread "main" java.io.IOException: Failed to bind to > > server socket: tcp://localhost:61617 due to: java.net.BindException: > > Address already in use > > at > org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:33) > > at > org.apache.activemq.transport.tcp.TcpTransportServer.bind(TcpTransportServer.java:139) > > at > org.apache.activemq.transport.tcp.TcpTransportFactory.doBind(TcpTransportFactory.java:56) > > at > org.apache.activemq.transport.TransportFactorySupport.bind(TransportFactorySupport.java:40) > > at > org.apache.activemq.broker.BrokerService.createTransportConnector(BrokerService.java:2386) > > at > org.apache.activemq.broker.BrokerService.addConnector(BrokerService.java:318) > > at > org.apache.activemq.broker.BrokerService.addConnector(BrokerService.java:308) > > at StopTest.main(StopTest.java:11) > > Caused by: java.net.BindException: Address already in use > > at java.net.PlainSocketImpl.socketBind(Native Method) > > at > java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376) > > at java.net.ServerSocket.bind(ServerSocket.java:376) > > at java.net.ServerSocket.<init>(ServerSocket.java:237) > > at > javax.net.DefaultServerSocketFactory.createServerSocket(ServerSocketFactory.java:231) > > at > org.apache.activemq.transport.tcp.TcpTransportServer.bind(TcpTransportServer.java:136) > > ... 6 more > > > > > > I added the line connector.stop(); to the code as shown below > > > > broker.start(); > > broker.waitUntilStarted(); > > connector.stop(); > > broker.stop(); > > broker.waitUntilStopped(); > > > > and the exception does not occur. Maybe that's what was missing? > > > > On Fri, Jun 19, 2015 at 4:50 PM, Christopher Shannon > > <[email protected]> wrote: > >> There should be a nested exception that displays what the real error is. > >> The BrokerStoppedException is the result of another error and it is > hard to > >> tell what is going on without the real exception causing the issues. Is > >> there any more to the stack trace? > >> > >> On Fri, Jun 19, 2015 at 6:36 AM, pubudu gunawardena <[email protected] > > > >> wrote: > >> > >>> Hi All, > >>> > >>> I am using ActiveMQ version 5.11.1. Following is a simple code snippet > >>> which reproduces the problem I am getting. (what I am trying to > >>> implement is a restart, but the exceptions are thrown when stopping). > >>> > >>> > >>> import org.apache.activemq.ActiveMQConnection; > >>> import org.apache.activemq.ActiveMQConnectionFactory; > >>> import org.apache.activemq.broker.BrokerService; > >>> import org.apache.activemq.network.jms.JmsQueueConnector; > >>> import org.apache.activemq.network.jms.OutboundQueueBridge; > >>> > >>> public class StopTest { > >>> public static void main(String[] args) throws Exception { > >>> BrokerService broker = new BrokerService(); > >>> broker.addConnector("tcp://localhost:61617"); > >>> > >>> JmsQueueConnector connector = new JmsQueueConnector(); > >>> connector.setOutboundQueueConnectionFactory(new > >>> ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_BROKER_URL)); > >>> OutboundQueueBridge outboundQueueBridge = new > >>> OutboundQueueBridge("queue"); > >>> connector.setOutboundQueueBridges(new OutboundQueueBridge[] { > >>> outboundQueueBridge }); > >>> broker.setJmsBridgeConnectors(new JmsQueueConnector[] { > connector > >>> }); > >>> > >>> broker.start(); > >>> broker.waitUntilStarted(); > >>> broker.stop(); > >>> broker.waitUntilStopped(); > >>> } > >>> } > >>> > >>> > >>> I get the following exception > >>> > >>> Exception in thread "ActiveMQ VMTransport: vm://localhost#1-1" > >>> org.apache.activemq.broker.BrokerStoppedException: Broker > >>> BrokerService[localhost] is being stopped > >>> at > >>> > org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:193) > >>> at > >>> > org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116) > >>> at > >>> > org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50) > >>> at > >>> > org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:248) > >>> at > >>> > org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:133) > >>> at > >>> > org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48) > >>> at > >>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > >>> at > >>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > >>> at java.lang.Thread.run(Thread.java:745) > >>> > >>> Can someone point out to me what I am not doing correctly? > >>> > >>> -- > >>> Thanks, > >>> Pubudu > >>> > > > > > > > > -- > > Thanks, > > Pubudu > > > > -- > Thanks, > Pubudu >
