我有一个 jms-inbound-gateway,它从 WebsphereMQ 代理读取请求,将它们传递到我的集成系统,然后回复一条响应消息。
我需要使用设置的 jms_messageId 和 jms_correlationId header 来记录消息,以便我可以匹配日志文件中的请求/回复消息(并在客户说我的响应没有正确的 jms_correlationId 时将其显示给他)
是否有办法在设置correlationId header后拦截方法 Producer.sendReply(...) ?
最佳答案
那里不需要拦截;在到达网关之前,这些 header 可在网关回复消息中的 Spring Integration 消息中找到。
只需将 reply-channel
设为 publish-subscribe-channel
,然后添加一个将其作为输入 channel 的 <logging-channel-adapter/>
。
回复消息将发送到网关和记录器。
如果您使用默认机制来路由回复(最后一个集成组件上没有 output-channel
),只需添加 output-channel
并路由到回复 channel 即可。
关于jms - 如何拦截jms入站网关的回复消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28741067/