Exception when stopping an embedded broker

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Exception when stopping an embedded broker

pubudu gunawardena
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
Reply | Threaded
Open this post in threaded view
|

Re: Exception when stopping an embedded broker

christopher.l.shannon
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 <[hidden email]>
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
>
Reply | Threaded
Open this post in threaded view
|

Re: Exception when stopping an embedded broker

pubudu gunawardena
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
<[hidden email]> 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 <[hidden email]>
> 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
Reply | Threaded
Open this post in threaded view
|

Re: Exception when stopping an embedded broker

pubudu gunawardena
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 <[hidden email]> 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
> <[hidden email]> 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 <[hidden email]>
>> 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
Reply | Threaded
Open this post in threaded view
|

Re: Exception when stopping an embedded broker

Tim Bain
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" <[hidden email]> 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 <[hidden email]>
> 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
> > <[hidden email]> 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 <[hidden email]
> >
> >> 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
>