对Apache骆驼路线无法执行的解决思路

来源:爱站网时间:2022-04-09编辑:网友分享
本篇文章来给大家说说对Apache骆驼路线无法执行的解决思路内容,对这方面有疑惑的话,不妨来看看爱站技术频道小编整理的资料,希望这篇文章能帮助到你解决问题。

问题描述


我对Apache骆驼非常陌生,遇到需要执行以下操作的情况

[每当我收到特定类型的Exception时,我都需要再次重试整个路由,但是当使用onException实现时,我面临循环错误处理异常和无限递归的问题。

下面是我的伪代码

 from("direct:updateTheTask")
.to("direct:getWoTaskDetail")
.to("direct:getSoTaskDetail")
.to("direct:updateTaskDetail")
.to("direct:getSoTaskDetail")   
.to("direct:getWoTaskDetail")
.to("direct:endRoute");


 from("direct:updateTaskDetail").routeId("updateTaskDetail")
.bean(BEAN, Constants.SET_PARAMS)
.to("direct:restUpdate")
.to(getGetResponseBeanUrl(BEAN));

我已调用“ direct:updateTheTask”路由,并且在收到异常的情况下,“ direct:updateTaskDetail”正在给出异常,我想从“ direct:updateTheTask”再次重试,以维护/持久交换数据。

[在此递归过程中,当“ direct:updateTaskDetail”未引发任何此类异常时,路由应正常完成。

我使用了以下2种方法,但似乎对我不起作用。

onException(TaskException.class)
.handled(true)
.maximumRedeliveries(-1)
.redeliveryDelay(20);

另一种方法是

onException(TaskException.class)
.handled(true)
.delay(20)
.to("direct:updateTheTroubleTicket");

思路:


关闭任务路由中的错误处理程序,因此在调用此路由时,Camel将重试整个路由,而不是在错误发生时重试路由错误处理程序。

from("direct:updateTheTask")
  .errorHandler(noErrorHandler());
  .to("direct:getWoTaskDetail")

对Apache骆驼路线无法执行的解决思路不知道各位朋友都看懂了没有,如果你有哪些知识点不清楚可以咨询小编。在我们爱站技术频道网站有很多技术文章,需要可以自行关注起来。

上一篇:Apache POI读取excel文件数据的正确做法

下一篇:Intellij返回.class文件的两种解决方案

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载