- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个路由,doTry() - doCatch() 对用于特定路由和一般的 onException()。
onException(Exception.class)
.handled(true)
.log(LoggingLevel.ERROR, "An error occurred: ${exception.stacktrace}")
.setBody(simple("${exception}"))
.setHeader(Exchange.HTTP_RESPONSE_CODE, constant(500));
from("direct:mydirect")
.routeId("myRoute")
.doTry()
.to("direct:internalroute")
.doCatch(Exception.class)
.log(LoggingLevel.ERROR, "EXCEPTION: ${exception.stacktrace}")
.process(exceptionHandlerProcessor)
.setHeader(Exchange.HTTP_RESPONSE_CODE, constant(500))
.marshal(new JsonDataFormat(JsonLibrary.Jackson))
.doFinally()
.log("FINALLY")
.endDoTry();
内部路由抛出一个普通的 java.lang.Exception
throw new Exception("Catch me if you can!");
我希望在 doCatch() 中捕获异常并执行日志记录和处理操作。但是,会调用 onException()。
onException() 是否有更高的优先级?在我的理解中,本地捕获更为优先。
附言删除 onException() 会使 doCatch() 被调用。但是我有理由保留两者。 Camel 版本是:org.apache.camel:camel-cxf:2.21.0.000033-fuse-000001-redhat-1
最佳答案
当你有一个 doTry .. doCatch block 并且你调用另一个路由时,比如你通过
.to("direct:internalroute")
然后您需要关闭该路由上的错误处理,例如
from("direct:internalroute")
.errorHandler(noErrorHandler())
如果您希望所有错误处理仅通过 doTry .. doCatch block 发生。
关于java - Camel doCatch 和 onException 优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50878919/
我有一个路由,doTry() - doCatch() 对用于特定路由和一般的 onException()。 onException(Exception.class) .handled(true
我正在尝试构建一个尝试验证 xml 的路由,如果一切正确,则必须拆分此文件,否则会引发异常并且它必须执行其他操作。所以我做了以下事情: from("file:"+fileOutboxTransform
谁能帮我解决这个关于 apache camel 的问题?我正在尝试执行如下所示的路线: 将 XML 存档发送到 Web 服务 如果响应正常,将此文件移动到名为“成功导入” 如果响应失败,将同一个文件移
我需要从抛出的异常中返回消息,或者把它放在 outmessage 中。但它不会在前端打印正确的消息。 Camel 文档建议使用 .transform(simple?...) .handled(true
我有一个 SWF TryCatch 类结构,如下所示: new TryCatch() { @Override protected void doTry() throws
我是一名优秀的程序员,十分优秀!