繁体   English   中英

Apache Camel JMS异常循环

[英]Apache Camel JMS Exception Loop

camelVersion = "2.19.1"
springVersion = "4.1.5.RELEASE"
jdk = "1.8"

正在使用Apache Camel JMS,XA事务(atomikos)和Java / Spring。 添加了一些代码来处理在骆驼路由和业务逻辑处理(即使用onException)期间可能发生的异常。 以下是我们遇到问题之前的实际代码,在该问题发生后,onException代码按照指定的编号重试了它; 将控件发送到错误处理程序,然后继续循环并一次又一次地处理相同的消息,并在发生异常和重试失败时执行相同的操作。

onException(Exception.class)
.log("Exception caught")
.redeliveryDelay(redliveryDelay) //delay time
.setHeader("exception", simple("${exception}"))
.maximumRedeliveries(redelivery) //number of retries                
.process("errorHandler");

经过研究 inOnly和inOut概念有助于提出以下解决方案,以便首次获取队列消息,即是否发生异常并且重试也失败。

onException(Exception.class)
.log("Exception caught")
.redeliveryDelay(redliveryDelay)
.setHeader("exception", simple("${exception}"))
.maximumRedeliveries(redelivery)                    
.process("errorHandler")
.handled(true)
.inOnly();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM