2
我正在使用Grails和路由插件來使用RouteBuilder DSL來定義路由。RouteBuilder.onException是否創建全局異常處理程序或路由特定的異常處理程序?
如果我有像下面這樣的場景:
...
//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)?
是的,這是正確的。如果你想跨越多個RouteBuilder類,你需要創建一個基類來擴展,並調用super.configure()。例如使用OO繼承。在Camel 3.x中,我們可能會考慮在Java DSL中使其成爲全局「全局」的方式。 –