Pure restart of the embedded broker is not advisable, since it's state could be corrupted. Therefore, you're advised to instantiate the broker again before restarting it.

BrokerService service = BrokerFactory.createBroker("xbean:activemq.xml");
service.start();
service.waitUntilStarted();

service.stop();
service.waitUntilStopped();

service = BrokerFactory.createBroker("xbean:activemq.xml");
service.start();

In 5.3 however, we allowed the force start of the broker that has been stopped for use cases that need this functionality. You can do it by using

BrokerService.start(boolean force);

method.

The following example demonstrates it.

BrokerService service = BrokerFactory.createBroker("xbean:activemq.xml");
service.start();
service.waitUntilStarted();

service.stop();
service.waitUntilStopped();

service.start(true);

However, it's better (more reliable) to instantiate the broker again if it is possible.

© 2004-2011 The Apache Software Foundation.
Apache ActiveMQ, ActiveMQ, Apache, the Apache feather logo, and the Apache ActiveMQ project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
Graphic Design By Hiram