骆驼的异常处理时间

时间:2015-11-18 23:05:58

标签: java apache-camel

我在集成项目中使用Camel将其连接到Http端点。 现在我正在尝试实现一个场景,例如在连接到HTTP端点时出现异常时,我应该使用状态代码来决定是否尝试重新传递,或者继续路由。 以下是我如何实施

  onException(HttpOperationFailedException.class)
            .retryAttemptedLogLevel(LoggingLevel.DEBUG)
            .onWhen(new Predicate() {
                @Override
                public boolean matches(Exchange exchange) {

                    HttpOperationFailedException e = exchange.getProperty(
                            Exchange.EXCEPTION_CAUGHT,
                            HttpOperationFailedException.class);

                    if (e.getStatusCode() == 400)
                        return true;
                    return false;
                }
            }).continued(true).maximumRedeliveries(2);

问题是当Predicate返回false时路径停止。我想要实现的是继续这条路线。

0 个答案:

没有答案