【发布时间】:2012-06-23 14:53:50
【问题描述】:
当我的输出端点关闭时,我需要在我的 Active MQ JMS 入站端点上进行暂停行为。这样我就不会处理队列中的消息。一旦然后输出端点启动,我想恢复队列获取操作。这在骡子中可能吗?如果是怎么办?
【问题讨论】:
当我的输出端点关闭时,我需要在我的 Active MQ JMS 入站端点上进行暂停行为。这样我就不会处理队列中的消息。一旦然后输出端点启动,我想恢复队列获取操作。这在骡子中可能吗?如果是怎么办?
【问题讨论】:
你应该可以做这样的事情:
Connector connector = muleRegistry.lookupConnector(connectorName);
connector.stop();
但是,如果您关心消息丢失,这并不是一个真正直接的解决方案。如果您不小心处理这些情况,那么在连接器关闭之前,触发此“停止”的消息可能会丢失。
还有另一种选择。假设您的其他资源仅在一小段时间内停机,您可能只想使用 JMS 事务并将消息回滚到队列(当输出端点失败时),然后它将重试事务并结束了。
【讨论】: