Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java IBM WebSphere MQ覆盖文本消息属性_Java_Properties_Ibm Mq - Fatal编程技术网

Java IBM WebSphere MQ覆盖文本消息属性

Java IBM WebSphere MQ覆盖文本消息属性,java,properties,ibm-mq,Java,Properties,Ibm Mq,我正在对TextMessagemsg.setLongProperty(“publishSequence”,pubSeq)设置一个Long属性,并将其发送到本地IBM WebSphere MQ队列管理器以发送到远程队列。消息发送正常,但MQ将MQ属性放入消息头时正在删除Long属性 以前有没有其他人遇到过这个问题?如果是这样,您是如何解决的?您正在设置的属性不会映射到消息头。在WMQ的旧版本中,它映射到RFH2头,但在WMQ的新版本(V7.1及更高版本)中,可以使用消息属性setter/gette

我正在对TextMessage
msg.setLongProperty(“publishSequence”,pubSeq)设置一个Long属性,并将其发送到本地IBM WebSphere MQ队列管理器以发送到远程队列。消息发送正常,但MQ将MQ属性放入消息头时正在删除Long属性


以前有没有其他人遇到过这个问题?如果是这样,您是如何解决的?

您正在设置的属性不会映射到消息头。在WMQ的旧版本中,它映射到RFH2头,但在WMQ的新版本(V7.1及更高版本)中,可以使用消息属性setter/getter方法访问该属性,因此通常不会看到RFH2头

上存在一个属性
PROPCTL
,用于控制是否看到RFH2头。根据设置方式,这些属性在有效负载中不可见,因为不会生成RFH2头。如果您设置了PROPCTL,那么您可以让WMQ传递带有RFH2头的消息,并且您可以在那里看到属性。否则,您将需要使用属性getter方法,但在任何情况下都不会在消息头中看到该属性,因为它不是映射在那里的属性


有关更多信息,请参见信息中心主题。

以下链接能够回答我的问题。我已经测试过了,它可以工作了


我使用了
queue.setMessageBodyStyle(WMQConstants.WMQ_MESSAGE_BODY_JMS)FYI。。我正在使用JMS TextMessage对象。当接收消息时,我试图通过getLongProperty获取该属性,但该属性不存在。我试着阅读了你的解释,但我仍然不知道该怎么做。当你设置属性时,你是否捕获了MessageNotWriteableException和JMSexException?未经处理的异常可能允许属性集失败,但仍会写入消息。您是否尝试检索本地QMgr上的属性?这些属性可能在通道或远程队列中转换为RFH2。在本地检索它们将从等式中消除这些失败点。我发现一个链接可能适用于我需要的内容:。今晚我将在测试窗口中测试它,并返回结果。