如何解决自定义 bean 异常处理程序在 VM 路由中的骆驼 doCatch 中不起作用
我的骆驼项目中有以下代码。 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 举报,一经查实,本站将立刻删除。