gpt4 book ai didi

骡子 ESB : Generate Same and Dynamic Correlation ID in Different Flow

转载 作者:行者123 更新时间:2023-12-01 06:20:06 24 4
gpt4 key购买 nike

目前我正在使用 Mule ESB。现在,我有 2 个流,比如说流 1 和流 2。我需要做的是在不同的流中生成相同的相关 ID。关联 ID 本身的值应该是动态的。我的意思是,第一次尝试运行程序时的关联 ID 和第二次运行程序时的关联 ID 应该不同。

例如:当我向入站发送第一个请求时,相关 ID 是 abcdef(在流 1 和流 2 中),然后在第一个请求完成后,我发送第二个请求和第二个请求的相关 ID是:xyz123455(在流程 1 和流程 2 中)。

如何实现?提前致谢

最佳答案

无需执行任何特定操作来传播流之间的关联 ID:Mule 会为您完成。此外,Mule 会为每个入站消息生成一个唯一 ID,因此您可以将其用作关联 ID。

这是一个例子:

<flow name="firstFlow">
<http:inbound-endpoint address="http://localhost:8080/test" />

<!-- No correlation ID yet -->
<logger level="INFO" message="CID: #[message.correlationId]" />

<!-- Use the message unique ID as its correlation ID -->
<set-property propertyName="MULE_CORRELATION_ID" value="#[message.id]" />

<!-- Correlation ID is set -->
<logger level="INFO" message="CID: #[message.correlationId]" />

<vm:outbound-endpoint path="second.flow" />
</flow>

<flow name="secondFlow">
<vm:inbound-endpoint path="second.flow" />

<!-- Correlation ID is propagated -->
<logger level="INFO" message="CID: #[message.correlationId]" />
</flow>

如果您curl http://localhost:8080/test,您将在日志中看到类似于以下内容的内容:

09:18:58,824 INFO connector.http.mule.default.receiver.02 [org.mule.api.processor.LoggerMessageProcessor] CID: null
09:18:58,831 INFO connector.http.mule.default.receiver.02 [org.mule.api.processor.LoggerMessageProcessor] CID: 1c51391c-e35f-11e3-926a-9979ff687cfa
09:18:58,847 INFO connector.http.mule.default.receiver.02 [org.mule.lifecycle.AbstractLifecycleManager] Initialising: 'connector.VM.mule.default.dispatcher.11119625'. Object is: VMMessageDispatcher
09:18:58,848 INFO connector.http.mule.default.receiver.02 [org.mule.lifecycle.AbstractLifecycleManager] Starting: 'connector.VM.mule.default.dispatcher.11119625'. Object is: VMMessageDispatcher
09:18:58,860 INFO secondFlow.stage1.02 [org.mule.api.processor.LoggerMessageProcessor] CID: 1c51391c-e35f-11e3-926a-9979ff687cfa

如您所见,关联 ID 是自动传播的。

关于骡子 ESB : Generate Same and Dynamic Correlation ID in Different Flow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23822523/

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