【问题标题】:Using targetclient 1 cause to drop jms headers使用 targetclient 1 导致删除 jms 标头
【发布时间】:2017-02-01 19:52:58
【问题描述】:

我正在使用 Spring jms 将 jms 消息发送到 websphere mq,在目标解析器中使用目标客户端作为 1。但是,这会导致删除我为 jms 消息设置的所有自定义标头。当我将目标客户端设置为 0 时,它可以正常工作,但出于其他原因,我需要将其保持为 1。有人可以解释这里发生的事情以及可能的解决方案。谢谢。

【问题讨论】:

    标签: jms ibm-mq spring-jms


    【解决方案1】:

    在 MQ JMS 中,标头作为消息的 MQ RFH2 标头中的属性实现。通过指定 WMQ_TARGET_DEST_MQ (1) 的目标客户端,您将指示 MQ JMS 客户端剥离 RFH2 标头。在您的情况下,这意味着您丢失了自定义标题。因此,通过设置 WMQ_TARGET_DEST_MQ,您实际上是在选择退出此功能。

    您要么需要使用您知道有效的 WMQ_TARGET_DEST_JMS (0),要么找到另一种方法将自定义标头中的数据传递给接收应用程序。

    如果您想继续使用 WMQ_TARGET_DEST_MQ,一个选项是将您的自定义标头作为名称/值对包含在消息正文中 - 您只需要确保接收应用程序可以理解它。

    【讨论】:

    • 您认为可以通过保留 WMQ_TARGET_DEST_MQ 将字符串标头值添加到“usr”文件夹吗??
    猜你喜欢
    • 1970-01-01
    • 2019-07-11
    • 2016-09-08
    • 2020-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    相关资源
    最近更新 更多