我想建立一个高可靠的服务,所以我需要在NATS端点处理各种网络问题;
1.启动异常,处理启动时的异常,我注意到,如果服务器在启动时没有响应,apche camel应用程序将退出。
1.处理启动后的重新连接。因此,默认行为是每两秒钟重新连接一次,我想覆盖它。
我知道bridgeErrorPane参数,但它似乎不适合这种情况,实际上在以下路由中:
errorHandler(defaultErrorHandler()
.maximumRedeliveries(5).redeliveryDelay(10000));
// receiving from NATS
from("nats:{{test_topic}}?bridgeErrorHandler=true")
//and print it to system out via stream component
.errorHandler(defaultErrorHandler().maximumRedeliveries(5).redeliveryDelay(10000))
.to("stream:out")
.log("${body}");
代码的行为很奇怪,它不能解决1。如果NATS服务器关闭,应用程序将退出,如果服务器在启动后关闭,则执行默认策略(2秒重试),忽略我在路由和上下文级别的设置。如何处理第1和第2点?
1条答案
按热度按时间o7jaxewo1#
对于第2点,您是否尝试设置reconnectTimeWait参数?对于第1点,处理异常,您可以尝试使用异常处理