【发布时间】:2012-05-24 15:22:12
【问题描述】:
我使用 seda 队列作为死信通道端点。如果网络关闭或其他应用程序关闭,它可以正常工作。
如果我重新启动自己的系统会发生什么?
我会在死信通道端点 SEDA 队列中丢失我的消息吗?
【问题讨论】:
标签: java apache-camel eip
我使用 seda 队列作为死信通道端点。如果网络关闭或其他应用程序关闭,它可以正常工作。
如果我重新启动自己的系统会发生什么?
我会在死信通道端点 SEDA 队列中丢失我的消息吗?
【问题讨论】:
标签: java apache-camel eip
seda 端点不是可靠的消息解决方案,这意味着发送到 seda 目标的任何消息在发生故障/重新启动时都会丢失。如果 JMS 不是可用的解决方案,您将需要提供自己的持久性逻辑来提供消息恢复。
此外,鉴于 seda 端点是异步的,您必须确保在 DLQ 消息的持久性后使用消息确认模式,以便向 DLQ 的生产者通知成功或失败,以确保可靠性。
这当然是在使用 DLQ 时。您还可以使用持久性预处理器来存储用于传递的消息,并且仅在传递失败的情况下删除它们。
【讨论】: