使用JMS重试mechansim

时间:2015-08-20 14:31:07

标签: java spring logging jms activemq

在我们的项目中,我们使用Activemq(jms模板) - 将多个事件从一个webapp发布到另一个webapp。 我们也使用日志方面(spring aop) - 主要是我们记录错误并输入\ quitting方法。

现在,有时我们会面临系统流动的竞争条件。即,在一个Web应用程序上创建实体,触发事件以通知另一个Web应用程序,但是另一个Web应用程序的处理需要首先处理不同的事件,因此如果发生这种情况,则处理失败(例如, id缺失)并立即重试(jms重新发送),在重试的第二次它通常工作(永远不会超过3次重试)。

基本上,我们将日常作为日常流程的一部分,但是:

我们的日志文件是巨大而混乱的,因为这些场景抛出的异常,任何想法我们怎么能不记录前几个重试异常,只有在以后我们将记录的异常?也许你可以推荐另一种方法吗?

感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用JMSXDeliveryCount Message属性来获取重新发送计数。见http://activemq.apache.org/activemq-message-properties.html