【问题标题】:How to extract thread Id in Mule ESB如何在 Mule ESB 中提取线程 ID
【发布时间】:2014-11-24 15:30:13
【问题描述】:

通过使用http://blogs.mulesoft.org/total-traceability/,我获得了有关Message IdUnique Id 用法的有用知识。需要澄清哪一个是线程。在 Mule 调试器视图中,我们只能看到 MessageRoot ID 和 Unique Id。但是我怎么能接受Thread ID

Message id(Message root Id) 和 Thread Id 是否相同?我相信不是。请确认。 如果没有,我们如何获取线程ID。因为我的流程中有多个流程和调用。

寻求理解场景。

提前致谢。

【问题讨论】:

    标签: mule mule-studio mule-el mule-component


    【解决方案1】:

    MessageId 是为 Mule 中生成的每个 MuleMessage 对象实例生成的 UUID。默认情况下,RootIdMessageId 相同。但是,有一些端点(例如 JMS)共享 RootId,将其作为属性发送。假设您有一个 flow1 向 JMS 队列“Foo”发送消息(id 'xxx-xxx-xxx')和一个从同一个 JMS 队列接收消息的flow2flow2 中的消息将具有id 'xxx-xxx-yyy' 和 RootId 'xxx-xxx-xxx'。这样,您就可以在流中生成的消息之间建立关系。

    threadId 是一个标识 java 线程的长值。您可以使用代码Thread.currentThread().getId() 获取当前线程的id。在 MEL 中,它将是 #[java.lang.Thread.currentThread().getId()]

    【讨论】:

    • @Krumia 感谢您的帮助。有用!!我已经接受了答案,因为它给出了当前的解决方案!
    • @star:实际上,你应该感谢 Nuno。他是回答者,我只是 edited the post 来改进格式。
    • 哦!好的。我不确定谁给出了确切的答案,因为这两个名字都出现了。尽管提供的答案对我有用,但我也可以看到有人投了反对票。 @Nuno 感谢您的大力帮助!
    猜你喜欢
    • 1970-01-01
    • 2014-03-02
    • 2014-12-31
    • 1970-01-01
    • 2014-11-01
    • 2015-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多