Spring Integration消息重新传递最佳实践

时间:2014-07-25 07:05:00

标签: spring jms spring-integration

我目前正在使用Spring Integration开发应用程序。该应用程序需要有保证的交付以及在外部系统不可用且不丢失消息的特定时间内它将起作用的选项。通道将以JMS作为后备时间支持。我想了解哪些是Spring Integration重新传递的最佳实践。我们有以下选择:

  1. 应用程序的集成流有许多出站消息网关,需要与外部系统进行RPC调用。可以使用状态重试建议。在达到特定运行时异常的最大尝试后,消息将被发送到恢复通道。恢复通道将使用延迟器,然后将消息发送回原始通道。在消息到达恢复通道的X倍之后,它将被发送到错误通道,在那里它将被简单地记录而无需进一步处理。在这种情况下,delayer组件应使用jdbc消息存储选项。

  2. 另一种选择是使用标准JMS选项进行重新传递。在这种情况下,重新传递策略不会在Spring Integration上实现,而是在JMS提供者端实现。

  3. 使用Spring Integration进行消息重新传递的最佳做法是什么?

1 个答案:

答案 0 :(得分:1)

我会这样说:不要重新发明轮子!

如果在这个问题上已经有一些类似的解决方案,只需按原样使用它的具体配置。

是的,如果JMS有这个解决方案,那就继续吧。 当然,在消息到期或重新发送耗尽的情况下,需要处理DLQ。但这个概念就在这里。