我或多或少地使用持久性VM队列CloudHub在我的Mule应用程序中实现了可靠性模式,如文档here所述。虽然一切正常,但它给我留下了许多关于确实可靠地传递我的消息的问题。为了说明以下几点,假设我的“应用程序逻辑流程”中有http-request
组件(参见上面链接中的图表)因为端点关闭而抛出异常,我想确保航班消息将最终传递到端点:
http-request
范围包围until-successful
消息处理器,但我宁愿让这些事情适用于我的整个流程(无需包装整个流程until-successful
)。这种事情是否只能使用VM队列和CloudHub?until-successful
配置为将消息放在另一个我想用作死信队列的VM队列上。再次,这可以正常工作,我可以登录到CloudHub并查看我的DLQ上填充的消息 - 但是当端点恢复时,它似乎无法将来自此队列的消息移回流中。似乎你可以在CloudHub中做的就是清除你的队列。同样,这是否可以仅使用VM队列和CloudHub(即没有其他排队工具)?答案 0 :(得分:1)
VM队列是非常基本的,无论您是否在CloudHub中使用它们。
除了JMS之外,您还可以考虑使用CloudAMQP,Iron.io或AWS SQS等托管队列。您将失去对入站端点的事务支持,但可以更好地控制(重新)传递行为。