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. |