Java ApacheCamel错误处理程序范围澄清
下面是《骆驼行动手册》中的路线示例。上下文范围中有一个错误处理程序和两个路由定义。我的问题Java ApacheCamel错误处理程序范围澄清,java,apache-camel,Java,Apache Camel,下面是《骆驼行动手册》中的路线示例。上下文范围中有一个错误处理程序和两个路由定义。我的问题 上下文级错误处理程序仅适用于路由1,这样说是否正确 死信错误处理程序是否针对路由2中任何步骤引发的任何异常启动。i、 e.从orderService.validate()和orderService.enrich() 如果我想为validate()和rich()方法产生的异常使用不同的错误处理程序,该怎么办 //上下文范围错误处理程序 errorHandler(defaultErrorHandler()
orderService.validate()
和orderService.enrich()
validate()
和rich()
方法产生的异常使用不同的错误处理程序,该怎么办
//上下文范围错误处理程序
errorHandler(defaultErrorHandler()
.maximumRedeliveries(2)
.redeliveryDelay(1000)
.retryAttemptedLogLevel(LoggingLevel.WARN));
//Route 1
from("file://target/orders?delay=10000")
.beanRef("orderService", "toCsv")
.to("mock:file")
.to("seda:queue.inbox");
//Route 2 with route scope error handler
from("seda:queue.inbox")
.errorHandler(deadLetterChannel("log:DLC")
.maximumRedeliveries(5).retryAttemptedLogLevel(LoggingLevel.INFO)
.redeliveryDelay(250).backOffMultiplier(2))
.beanRef("orderService", "validate")
.beanRef("orderService", "enrich")
.to("mock:queue.order");