jms - 如何拦截jms入站网关的回复消息

标签 jms spring-integration gateway inbound

我有一个 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/

相关文章:

spring - IBM MQ 与 JMS - Spring 实现

linux - 具有不同子网中的网关的桥接 Xen domU

java - Spring 集成 SFTP - 传输后处理

java - 当@Autowired 时,SftpRemoteFileTemplate 不适用于 RemoteDirectoryExpression

java - Spring 集成 pubsub 与 Spring amqp RabbitMQ pubsub

linux - Qt中如何获取网络网关地址?

c - 如何通过 C 更改默认网关

java - 如何使用 HornetQ 处理 JMS-Session 超时?

java - JMS 消息队列可以在这种情况下用于我的用例吗?

java - 限制读取的消息队列