我有两个服务,A和B,通过Spring Remoting with AMQP进行通信。 A公开REST API并在每个请求上使用UUID.randomUUID()
(来自Filter
内)填充MDC(映射的诊断上下文)(并在处理完成时清除它)。现在我想在请求/回复周期中将此UUID传递给B,以便......
我已经扩展SimpleMessageConverter
以便设置包含UUID的AMQP标头,但我似乎并没有真正弄清楚如何/在哪里填充以及如何/在哪里清除B中的MDC。有人请说清楚吗?
答案 0 :(得分:0)
将另一个自定义消息转换器注入AmqpInvokerServiceExporter
。
在fromMessage()
中设置MDC(来自标题),在映射回复时清除它(在toMessage
中)。