骆驼似乎忽略了onException指令-我在做什么错?

时间:2019-07-17 13:09:36

标签: apache-camel

我有一个骆驼(2.21.2)路由,该路由通过FTP获取XML文件,然后将其拆分,然后再进行进一步处理,就像...

from("direct-vm:start")
    .split()
    .xtokenize("*/row", 'w', ns)
    .streaming()
    ...

如果传递了一个空文件,那么我假定的xtokenize步骤会引起一个com.ctc.wstx.exc.WstxEOFException的出现,这似乎是完全合理的。

但是,当我尝试放入onException子句时,似乎并没有捕获到异常。

我有:

onException(com.ctc.wstx.exc.WstxEOFException.class)
    .handled(true)
    .log(org.apache.camel.LoggingLevel.INFO,
        "myLogger",
        "File ${header.CamelFileName} is empty or invalid XML");

然而,异常导致路由失败并出现异常,并且永远不会产生我的处理程序日志消息。

但是,如果我将onException子句更改为java.lang.Exception.class,它将处理该异常。

我不希望它处理任何异常,仅是由空文件或不完整文件引起的异常。

我在这里做错了什么?如何让onException仅处理我感兴趣的异常?

感谢您的光临!

0 个答案:

没有答案