0

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

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

寻找理解场景。

提前致谢。

4

1 回答 1

3

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

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

于 2014-11-24T07:11:08.817 回答