Spring Boot 整合 JMS去掉RFH 消息头 解决方案

    xiaoxiao2022-07-02  105

    问题

    最近在一个Spring Boot 项目中, 使用JMS 发送消息到IBM MQ,但是接收方收到的消息中始终多了一个RFH 消息头,导致消息解析失败.

    <msg>......</msg>

    最开始查到这个资料 IBM MQ消息中间件jms消息中RHF2消息头的处理

    但是我项目我使用的是Spring Boot 2.x +JMS 模板发送的消息

    jmsOperations.convertAndSend(iBMMQProperties.getQueueName(),MESSAGE);

    所以始终找不到对应的设置地方.

    经过辛苦的查阅资料, 终于找到了解决方案:

    解决方案:

    jmsOperations.convertAndSend("queue:///"+iBMMQProperties.getQueueName()+"?targetClient=1",MESSAGE);

    或者

    jmsTemplate.convertAndSend("queue:///"+iBMMQProperties.getQueueName()+"?targetClient=1",MESSAGE);

    感谢解决方案提供者: Spring JMS模板 - 删除RFH标头信息

    技术宅星云 认证博客专家 Java Spring MySQL 技术宅星云(网名),英文名fairy,博客专家,先后曾在外企惠普,央企中航信工作, 目前担任北京蛙跳科技有限公司后端高级开发工程师,负责公司短视频应用后台,擅长JAVA后端技术.
    最新回复(0)