【问题标题】:Stacktrace from Camel Context onException来自骆驼上下文的堆栈跟踪 onException
【发布时间】:2012-02-16 19:37:47
【问题描述】:

我正在尝试从 Apache Camel 中的 onException 处理程序中检索堆栈跟踪:

   <onException>
            <exception>java.lang.Exception</exception>
            <handled>
                <constant>true</constant>
            </handled>

            <setHeader headerName="exception">
                <simple>${exception}</simple>
            </setHeader>
   </onException>

但是,上面只显示了异常而不是整个堆栈跟踪。

我了解 Camel 将捕获的异常作为属性存储在 Exchange 上,密钥为:Exchange.EXCEPTION_CAUGHT,但是如何从骆驼上下文路由文件中检索到呢?

【问题讨论】:

    标签: apache-camel


    【解决方案1】:

    使用 exception.stacktrace 获取堆栈跟踪。请参阅本页表格中列出的变量:http://camel.apache.org/simple

    <simple>${exception.stacktrace}</simple>
    

    还有一个 ${exception.message} 来引用异常消息本身。

    【讨论】:

    • 谢谢,这很奏效。创建一个 bean 是我想到的另一种选择。
    • 谢谢克劳斯。只是一个问题-是否也可以使用exception.class
    • 好的,我回答了这个问题 - 是的,这是可能的。但是在简单表达式中使用exception 几乎更好,因为它会为您提供类名和消息。
    • 经常camel将异常放入CamelExceptionCaught属性,这种情况下如何打印stacktrace?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2020-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多