从远程服务器轮询时,Apache camel重试逻辑

时间:2014-06-22 19:39:17

标签: apache-camel

我正在尝试从远程服务器提取文件,如果无法连接到远程服务器,则希望实现以下方案:

  1. 想重试“N”次,
  2. 如果重试之后连接不成功,想要停止轮询并向消费者说“服务器没有响应”,则会发生异常

2 个答案:

答案 0 :(得分:1)

在您的路由中,您需要一个连接到远程服务器的bean。如果它无法连接,则应通过例外。

然后在路由中添加onException处理程序 onException的(CannotConnectException.class) .maximumRedeliveries(3) .processRef(" doSomething的&#34)

" doSomething"过程必须注意停止轮询并告知消费者部分路线。例如,要停止轮询,您可以调用连接bean的方法来停止轮询。最好的解决方案实际上取决于系统的其余部分是如何组合在一起的。

答案 1 :(得分:0)

我会为此使用轮询策略。因此,如果某种路径存在问题,则提交和回滚方法将决定如何处理