RouteBuilder.onException是否创建全局异常处理程序或路由特定的异常处理程序?

时间:2012-09-26 22:18:58

标签: grails apache-camel

我正在使用带有路由插件的Grails来使用RouteBuilder DSL定义路由。

如果我有以下情况:

...
//configure method for route builder A
def configure {
    onException(CustomException).process(exceptionProcessor)

    from(<route A.1>)...
    from(<route A.2>)...
}
...

...
//configure method for route builder B
def configure {
    onException(CustomException).process(exceptionProcessor)

    from(<route B.1>)...
}
...

在这种情况下,onException(CustomException).process(exceptionProcessor)是否定义了一个覆盖路由A.1,A.2和B.1的全局异常处理程序,或者是否定义了路径特定的异常处理程序,它只包含在相同的RouteBuilder(即A.1和A.2)?

1 个答案:

答案 0 :(得分:2)

它将在定义它的特定路径构建器本地创建一个异常处理程序。但它将跨越该特定路径构建器中的所有路径。也就是说,在Java中。但是,我认为没有区别,因为你的groovy代码几乎以相同的方式编译成java。