Mule - 如何停止JMS输入端点

时间:2012-06-21 11:19:38

标签: activemq mule

当我的输出端点关闭时,我需要在Active MQ JMS入站端点上具有挂起类型的行为。这样我就不会处理来自队列的消息。一旦然后输出端点启动我想恢复队列提取操作。骡子有可能吗?如果是的话怎么样?

1 个答案:

答案 0 :(得分:1)

你应该可以这样做:

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

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

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