0

我有以下骆驼配置:

from("file://" + FTP_FILES + "?idempotent=true")
.process(new Processor() {
     @Override
     public void process(Exchange exchange) throws Exception {
         throw new RuntimeException("test");             
     }
 }).onException(Exception.class).maximumRedeliveries(0);

此代码在无限循环中工作并尝试处理相同的文件。

是否可以配置骆驼只是忽略异常?

附言

我也试过

.onException(RuntimeException.class).continued(true);

.onException(RuntimeException.class).handled(true)

但结果相同

附言

我只想要与此代码提供的行为相同的行为:

from("file://" + FTP_FILES + "?idempotent=true")
.process(new Processor() {
     @Override
     public void process(Exchange exchange) throws Exception {
         try{ 
             throw new RuntimeException("test");
         } catch(RuntimeException e){
             // just ignore  
         }             
     }
 })
4

1 回答 1

0

请参阅演示 hos 的此单元测试,这是可能的:https ://github.com/apache/camel/commit/fcd200c4e13c35bb9a63924bbc3e2d6a643c31cf

错误处理程序将捕获异常并进行处理,文件使用者将认为文件处理成功,并将文件移动到.camel子文件夹(默认行为)。

于 2017-11-02T11:50:55.733 回答