gpt4 book ai didi

routes - apache camel 如何记录路线进度

转载 作者:行者123 更新时间:2023-12-04 15:28:00 25 4
gpt4 key购买 nike

当路由中发生异常并且未被异常管理器捕获时,将显示路由的详细信息,这有助于了解可能出现的错误。

当异常被捕获和管理时,怎么可能有相同类型的日志?

我更喜欢从 java 部分“可调用”的东西,例如在处理器中,但 dsl 风格的东西也可以。

路由日志通常如下所示:

Message History
---------------------------------------------------------------------------------------------------------------------------------------
RouteId ProcessorId Processor Elapsed (ms)
[route1 ] [cxf_process ] [cxfrs://bean:myServer?bindingStyle=SimpleConsumer ] [ 60029]
[route1 ] [to55 ] [direct:validateAndRedirect ] [ 60029]
[route27 ] [setProperty37 ] [setProperty[operationName] ] [ 0]
[route27 ] [setProperty38 ] [setProperty[Country] ] [ 0]
[route27 ] [setProperty39 ] [setProperty[Language] ] [ 0]
[route27 ] [process25 ] [my.package.ExtractUserMailProcessor@535f9aac ] [ 0]
[route27 ] [enrich25 ] [enrich[direct:checkAccess] ] [ 0]
[route27 ] [recipientList1 ] [recipientList[simple{Simple: direct:${property.operationName}}] ] [ 60029]
[route28 ] [setHeader84 ] [setHeader[CamelCxfRsUsingHttpAPI] ] [ 0]
[route28 ] [setHeader85 ] [setHeader[CamelHttpPath] ] [ 0]
[route28 ] [setHeader86 ] [setHeader[CamelHttpMethod] ] [ 1]
[route28 ] [setHeader87 ] [setHeader[Content-Type] ] [ 0]
[route28 ] [enrich9 ] [enrich[direct:wsClient] ] [ 60029]
[route7 ] [to7 ] [cxfrs:bean:myClient ] [ 60027]

Exchange
---------------------------------------------------------------------------------------------------------------------------------------

...

提前谢谢,

弗朗索瓦

最佳答案

这是消息历史 EIP 模式

  • http://camel.apache.org/message-history.html

  • 该页面详细介绍了这一点,以及您如何自己访问历史记录。 org.apache.camel.util.MessageHelper#dumpMessageHistoryStacktrace是 Camel 用来输出您在上面看到的表格的内容。

    但是正如 Konstantin 上面写的那样,您可以从 Java 代码中访问历史记录,如下所示
    List<MessageHistory> list = exchange.getProperty(Exchange.MESSAGE_HISTORY, List.class);

    关于routes - apache camel 如何记录路线进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25999735/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com