问题描述
我的骆驼项目中有以下代码。 OnExceptionHandler 是实用程序 jar 的一部分,我在我的路由中调用它来处理异常。但是当我从路由的 doCatch 块中抛出 CustomException 时,它不会转到 OnExceptionHandler 中指定的 onException,而是打印为 VmConsumer 错误。我希望处理程序类中的 onException 可以捕获抛出的异常。在其他情况下,例如直接路由,它按预期工作。但在 vm 和 seda 路由的情况下,它无法按预期工作。
public class OnExceptionHandler {
public static void setup() {
onException(CustomException.class)
.maxRedeliveries(3)
.bean(LogErrorBean.class)
.continued(true)
.end();
}
}
public class MyRoute extends Route builder {
public void configure(){
OnExceptionHandler.setup(this);
from("vm:myroute")
.doTry()
.to("jms:jmsqueue")
.doCatch(Exception.class)
.throwException(CustomException.class,"Error when sending to queue")
.end()
.to("direct:proceed")
end();
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)