0

有一种情况,当我的输出端点关闭时,我需要在我的 Active MQ JMS 入站端点上进行暂停行为。这样我就不会处理队列中的消息。一旦然后输出端点启动,我想恢复队列获取操作。这在骡子中可能吗?如果是怎么办?

4

1 回答 1

1

你应该能够做这样的事情:

Connector connector = muleRegistry.lookupConnector(connectorName); 
connector.stop(); 

但是,如果您关心消息丢失,这并不是一个真正直接的解决方案。如果您不小心处理这些情况,那么在连接器关闭之前还有一段时间,触发此“停止”的手头消息可能会丢失。

还有另一种选择。假设您的其他资源仅在一小段时间内停机,您可能只想使用 JMS 事务并将消息回滚到队列(当输出端点失败时),然后它将重试事务并超过。

于 2012-06-21T20:53:16.960 回答