1

我有两个服务,A 和 B,通过Spring Remoting 与 AMQP进行通信。UUID.randomUUID()A 公开一个 REST API 并在每个请求上(从 a 内)填充 MDC(映射诊断上下文)Filter(并在处理完成时清除它)。现在我想在请求/回复周期中将此 UUID 传递给 B,以便...

  1. ...当 B 中的消费者开始处理请求时,其 MDC 将填充 UUID。
  2. ...当 B 中的消费者完成处理请求时,其 MDC 被清除。

我已经扩展SimpleMessageConverter以设置一个包含 UUID 的 AMQP 标头,但我似乎并没有真正弄清楚如何/在哪里填充以及如何/在哪里清除 B 中的 MDC。有人可以解释一下吗?

4

1 回答 1

0

将另一个自定义消息转换器注入AmqpInvokerServiceExporter.

在 中设置 MDC(从标头),在fromMessage()映射回复时清除它(在 中toMessage)。

于 2015-06-23T17:56:25.780 回答