簡體   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