首页 文章

使用spring集成从wmq获取JMS目标[duplicate]

提问于
浏览
0

这个问题与以下内容完全相同:

我正在使用消息驱动的通道适配器(Spring Integration)从IBM Mq消费消息 . 消息中的JMS Destination属性为null . 有人可以告诉我如何在标头中获取使用wmq消耗的消息的队列名称 .
JMS Destination属性用于从apache Active mq消耗的消息,但不用于IBM MQ .

1 回答

  • 0

    DefaultJmsHeaderMapper 的代码如下:

    try {
            Destination destination = jmsMessage.getJMSDestination();
            if (destination != null) {
                headers.put(JmsHeaders.DESTINATION, destination);
            }
        }
        catch (Exception ex) {
            this.logger.info("failed to read JMSDestination property, skipping", ex);
        }
    

    因此,如果IBM Mq在此问题上没有 JmsHeaders.DESTINATION Headers .

    我建议您调查消费后获得的所有 Headers ,并查看您可能拥有所需目的地的 Headers .

    否则,您始终可以扩展 DefaultJmsHeaderMapper 并在重写的 toHeaders() 方法中实现您自己的逻辑 .

相关问题