Apache-Camel:OnCompletion和OnException查询

时间:2015-09-14 09:31:16

标签: apache-camel

在我的项目中,我想在每个新创建的路径上应用单独的OnCompletion和OnException处理器。

假设我必须创建3条路线。对于每个路由,我正在准备一个单独的RouteBuilder类并进行如下配置 -

onException(Throwable.class).handled(true).process(new ExceptionHandlingProcessor(RouteId)).maximumRedeliveries(2)
        .redeliveryDelay(1000).retriesExhaustedLogLevel(LoggingLevel.ERROR)
        .retryAttemptedLogLevel(LoggingLevel.WARN);

 onCompletion().process(new OnCompletionProcessor(RouteId)) ;

        from("sftp:Configuration").routeId("test")
        .choice()
            .when(body().isEqualTo(null))
                .process(new AgeCalculatingProcessor("test"))
            .otherwise()
                .to("file:configuration").log("Downloaded file ${file:name} complete.")
                ;

我的问题是.... OnException和OnCompletion正在处理在同一个Route Builder类上创建的路由(因为我在每个RouteBuilder类中只创建一个路由)或者这些将应用于上下文级别并将在所有路线上工作?

实际上我想在路由级别应用Onexception和OnCompletion,但我得到异常(比如 - 尝试将OnException移到路由顶部),如果我在每个endPoint上应用OnException,如下所示 -

从(SFTP:CONF).OnException(Throwable.class).restExceptionconf 。要(文件:CONF).OnException(Throwable.class).restExceptionConf

0 个答案:

没有答案