Apache camel 骆驼不射击

Apache camel 骆驼不射击,apache-camel,Apache Camel,因此,我有以下路线(骆驼2.20.0) 我正在为一条新路线设计一个全局区块。由于某种原因,它没有开火,所以我将物品移动到一个特定路线内的doTry/doCatch,只是为了玩错误处理 <camelContext xmlns="http://camel.apache.org/schema/spring" id="jobfeedCamelContext"> <route id="testError"> <from uri="timer://run

因此,我有以下路线(骆驼2.20.0)
我正在为一条新路线设计一个全局
区块。由于某种原因,它没有开火,所以我将物品移动到一个特定路线内的doTry/doCatch,只是为了玩错误处理

<camelContext xmlns="http://camel.apache.org/schema/spring" id="jobfeedCamelContext">
    <route id="testError">
        <from uri="timer://runOnce?repeatCount=1&amp;delay=5000" />
        <doTry>
            <throwException exceptionType="java.lang.Throwable"/>
            <to uri="errorBean"/> <!-- bean does nothing but explicitly throws java.lang.Throwable -->
            <doCatch>
                <exception>java.lang.Throwable</exception>
                <log message="### exception" />
            </doCatch>
        </doTry>
        <log message="### out of try" />
    </route>
</camelContext>

java.lang.Throwable
对于输出,我从beans java.Lang.Throwable中获取堆栈跟踪(但没有为
生成堆栈跟踪)。在任何情况下,我都不会获取我的“####异常”日志条目,但我会获取“###退出尝试”日志条目


在旧版本的camel上的其他路由中使用了此功能,所以我看不出我的错误所在。有人有什么想法吗?我打开了路由跟踪,没有任何帮助。

我很确定这是因为抛出了
可丢弃的
。camel能够处理扩展
异常的所有事情,(这就是为什么您可以在每个
处理器#进程()
方法签名中看到
抛出异常的原因).
Throwable
是顶级异常,因此不扩展
异常
,因此无法处理。如果将其更改为
,它应该可以工作。当我更改为
时,请不要有任何区别,但更改bean中的异常类型确实有效。因此,现在请找出
不起作用的原因(我的路线不需要它——我只是好奇这一点。