2016-05-12 31 views

回答

1

在您的發件人應用程序調用MQDestination.setTargetClient方法與WMQConstants.WMQ_CLIENT_NONJMS_MQ作爲參數。這將確保RFH2標題不包含在消息中。

可用於setTargetClient方法的其他值爲MQJMS_CLIENT_JMS_COMPLIANT。這表示RFH2格式用於發送信息。使用WebSphere MQ類作爲JMS的應用程序理解RFH2格式。當您與JMS應用程序的目標WebSphere MQ類交換信息時,將MQJMS_CLIENT_JMS_COMPLIANT設置爲常量。

0

感謝您的回覆。來自Stavr00和Shashi的答案是正確的。 雖然我通過使用wmq資源適配器來修復它。在資源適配器的配置,我用

<config-property name="targetClient">MQ</config-property> 

這相當於WMQConstants.WMQ_CLIENT_NONJMS_MQ設置到隊列中。

1

使用JNDI隊列配置可以設置targetClient = MQ其具有作爲targetClient = 1相同的效果:

<jmsQueue jndiName="jms/queue/name"> 
<properties.wmqJms CCSID="819" baseQueueName="MQ.QUEUE.NAME" encoding="273" targetClient="MQ"/> 
</jmsQueue> 

還可以設置PROPCTLNONE隊列本身和將剝離頭,雖然根據我的經驗,最好是通過應用程序配置來完成。

1

從IBM的WebSphere MQ V7開始,建議的方式告訴Java實現不產生MQRFH2頭是調用MQDestination.setMessageBodyStyle(WMQConstants.WMQ_MESSAGE_BODY_MQ)TARGCLIENT屬性只用作後備選項,如果MessageBodyStyle被明確設置爲UNSPECIFIED