使用targetclient 1导致丢弃jms头

时间:2016-05-18 03:55:10

标签: jms ibm-mq spring-jms

我使用Spring jms将jms消息发送到websphere mq,目标客户端在目标解析器上使用1作为1。但是这导致丢弃我设置为jms消息的所有自定义标头。当我将目标客户端设置为0时,它工作得很好bt我需要将其保持为1,原因是其他原因。有人可以解释这里发生的事情和可能的解决方案。感谢。

1 个答案:

答案 0 :(得分: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,一个选项是将自定义标题作为名称/值对包含在邮件正文中 - 您只需要确保接收应用程序可以理解它。