如何重新啟動嵌入式 Broker
常見問題 > 使用 Apache ActiveMQ Classic > 如何重新啟動嵌入式 Broker
不建議純粹重新啟動嵌入式 Broker,因為它的狀態可能會損壞。因此,建議您在重新啟動之前重新實例化 Broker。
BrokerService service = BrokerFactory.createBroker("xbean:activemq.xml");
service.start();
service.waitUntilStarted();
service.stop();
service.waitUntilStopped();
service = BrokerFactory.createBroker("xbean:activemq.xml");
service.start();
然而,在 5.3 版本中,我們允許強制啟動已停止的 Broker,以滿足需要此功能的使用案例。您可以使用
BrokerService.start(boolean force);
方法來實現。
以下範例示範了如何操作。
BrokerService service = BrokerFactory.createBroker("xbean:activemq.xml");
service.start();
service.waitUntilStarted();
service.stop();
service.waitUntilStopped();
service.start(true);
但是,如果可以的話,最好(更可靠)重新實例化 Broker。