我使用Java DSL来配置路由。我有一个类似下面给出的路由。
RouteBuilder builder = new RouteBuilder() {
public void configure() {
// onException(Exception.class).bean("bean");
onException(Exception.class).to("anotherProcessor");
from("queue:a").bean("someBean").to("processor");
}
};
我如何在执行了一些活动之后放大异常?在异常时,我尝试配置一个处理器和一个bean来重新抛出异常。无论哪种方式,camel都将异常设置为exchange,但不会放大异常。
我是在一个junit测试用例中这样做的。我使用onException处理器来处理异常。在处理器内部,我在做我的Assert。Assert错误由camel自动处理,测试不会被标记为通过/失败。
2条答案
按热度按时间jucafojl1#
"试着接住"
出现异常处理异常并将其作为响应错误消息显示。您甚至可以放置
.to(ERRORDESTINATION)
或窃听来继续正常流程。或者使用camel错误处理程序。
希望这对你有帮助。
q9rjltbz2#