【问题标题】:Camel: exception in message listener is not GETTING HANDLED back in camel route骆驼:消息侦听器中的异常未在骆驼路线中得到处理
【发布时间】:2013-08-13 04:44:16
【问题描述】:

我有一个带有异常处理能力的骆驼路由,还有一个默认消息监听器,它使用来自 amq 端点表单骆驼路由的消息。

当 messageListener onMessage(Message message) 中引发异常时,它不会路由回我处理异常的骆驼

onException(Throwable.class)
            .process(customErrorHandler);

预期:在消息侦听器中抛出异常时返回路由并处理 errorHandler 实际:捕获异常

@Override
public void onMessage(Message message) {
try {
//dosomething which throws an exception
    } catch (Exception e) {
        //send back to camel route how??????
onException(Throwable.class)
            .process(customErrorHandler);
    }
}

提前谢谢你

【问题讨论】:

  • 你能否展示一下你的消息监听器是如何配置的,以及它是如何与骆驼路由通信的?
  • 骆驼路由没有连接,我用activemq端点注册了监听
  • 错误处理程序只能定义为 Camel 路由定义的一部分,不能在非 Camel 代码(例如此消息侦听器)中定义。

标签: apache jms activemq apache-camel


【解决方案1】:

只是不要在 onMessage() 方法中捕获异常...让它传播回来。如果该 onMessage 由 Camel 路由调用...那么它应该命中您的 Camel 路由的 onException() 子句等。

【讨论】:

    猜你喜欢
    • 2023-04-06
    • 2020-05-13
    • 1970-01-01
    • 2018-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-24
    相关资源
    最近更新 更多