2

我正在编写一个 Camel 应用程序(在 ServiceMix v4.4.2 中运行),它需要能够处理异常(使用死信队列来存储消息以供稍后重试)并且能够在硬件死机时从中断的地方开始. 我认为我需要混合使用事务和错误处理程序,但不确定如何开始。

任何有关相关教程的建议或指示都会很棒。

4

1 回答 1

2

你可以看看我的教程: http ://www.liquid-reality.de/x/JgBz

它不完全是您正在寻找的东西,但类似。它展示了如何创建事务路由以及如何为其设置 jms。不同之处在于教程路线以 jpa 组件开头。所以我将解释如何用 jms 来做。

对于带有死信队列的 jms,您将执行一个发送到死信队列的 onException 子句。这涵盖了骆驼能够处理问题的情况。如果发生硬件故障,jms 事务将回滚,消息将保留在原始队列中,并在路由再次出现时重试。理想情况下,您还将设置您的 jms 提供程序以在 n 次重试后发送到死信队列。这将捕获由于某种原因消息总是回滚的情况。

于 2012-09-18T06:25:53.533 回答