You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by pubudu gunawardena <pu...@gmail.com> on 2015/06/19 12:36:13 UTC
Exception when stopping an embedded broker
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
Re: Exception when stopping an embedded broker
Posted by Tim Bain <tb...@alumni.duke.edu>.
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" <pu...@gmail.com> 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 <pu...@gmail.com>
> 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
> > <ch...@gmail.com> 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 <pubudupg@gmail.com
> >
> >> 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
>
Re: Exception when stopping an embedded broker
Posted by pubudu gunawardena <pu...@gmail.com>.
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 <pu...@gmail.com> 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
> <ch...@gmail.com> 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 <pu...@gmail.com>
>> 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
Re: Exception when stopping an embedded broker
Posted by pubudu gunawardena <pu...@gmail.com>.
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
<ch...@gmail.com> 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 <pu...@gmail.com>
> 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
Re: Exception when stopping an embedded broker
Posted by Christopher Shannon <ch...@gmail.com>.
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 <pu...@gmail.com>
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
>