Spring 启动@JmsListener 拦截器
Spring Boot @JmsListener Interceptor
在我的应用程序中,我有消息从一个队列移动到另一个队列,我想在我的日志中添加消息 ID。我想弄清楚我是否可以在实际处理之前拦截消息并在 MDC 字段中设置消息 ID,以便我可以跨所有队列跟踪此消息。到目前为止我还没有成功。有现成的解决方案吗?
That works but then I cannot access message attributes. Is there any message context somewhere in jms components which I can override or access to get message attibutes for logging?
您可以将原始 JMS Message
(或仅消息 ID 属性)作为附加参数添加到 @JmsListener
(并使用 invocation.getArguments()
访问它) 或者您可以包装整个侦听器适配器,而不仅仅是您的侦听器 bean。使用容器注册表获取对容器的引用,然后 container.setMessageListener(wrap(container.getMessageListener()));
.
在我的应用程序中,我有消息从一个队列移动到另一个队列,我想在我的日志中添加消息 ID。我想弄清楚我是否可以在实际处理之前拦截消息并在 MDC 字段中设置消息 ID,以便我可以跨所有队列跟踪此消息。到目前为止我还没有成功。有现成的解决方案吗?
That works but then I cannot access message attributes. Is there any message context somewhere in jms components which I can override or access to get message attibutes for logging?
您可以将原始 JMS Message
(或仅消息 ID 属性)作为附加参数添加到 @JmsListener
(并使用 invocation.getArguments()
访问它) 或者您可以包装整个侦听器适配器,而不仅仅是您的侦听器 bean。使用容器注册表获取对容器的引用,然后 container.setMessageListener(wrap(container.getMessageListener()));
.