如何重启嵌入式代理

 常见问题解答 > 使用 Apache ActiveMQ Classic > 如何重启嵌入式代理

不建议直接重启嵌入式代理,因为它的状态可能会被破坏。因此,建议您在重启之前重新实例化代理。

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 版本中,我们允许强制启动已停止的代理,以满足需要此功能的用例。您可以使用

BrokerService.start(boolean force);

方法。

以下示例演示了这一点。

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

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

service.start(true);

但是,如果可能,重新实例化代理更好(更可靠)。

Apache、ActiveMQ、Apache ActiveMQ、Apache 羽毛徽标和 Apache ActiveMQ 项目徽标是 Apache 软件基金会的商标。版权所有 © 2024,Apache 软件基金会。根据 Apache 许可证 2.0 授权。