我正在使用JMS客戶端。隊列是IBM MQ。當我在隊列上寫入數據時,它會添加RFH頭。我如何去掉RFH頭部。我無法使用IBM MQ API。如何刪除JMS客戶端的RFH2頭文件
回答
在您的發件人應用程序調用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
設置爲常量。
另一種方法是使用隊列URI屬性(http://www.ibm.com/support/knowledgecenter/api/content/nl/en-us/SSFKSJ_7.5.0/com.ibm.mq.dev.doc/q032240_.htm#q032240___q032240_4)。 屬性targetClient
控制是否使用RFH或本機格式。
Queue queue = queueSession.createQueue("queue:///" + queueName + "?targetClient=1");
感謝您的回覆。來自Stavr00和Shashi的答案是正確的。 雖然我通過使用wmq資源適配器來修復它。在資源適配器的配置,我用
<config-property name="targetClient">MQ</config-property>
這相當於WMQConstants.WMQ_CLIENT_NONJMS_MQ設置到隊列中。
使用JNDI隊列配置可以設置targetClient = MQ其具有作爲targetClient = 1相同的效果:
<jmsQueue jndiName="jms/queue/name">
<properties.wmqJms CCSID="819" baseQueueName="MQ.QUEUE.NAME" encoding="273" targetClient="MQ"/>
</jmsQueue>
還可以設置PROPCTL
到NONE
隊列本身和將剝離頭,雖然根據我的經驗,最好是通過應用程序配置來完成。
從IBM的WebSphere MQ V7開始,建議的方式告訴Java實現不產生MQRFH2頭是調用MQDestination.setMessageBodyStyle(WMQConstants.WMQ_MESSAGE_BODY_MQ)
爲TARGCLIENT
屬性只用作後備選項,如果MessageBodyStyle
被明確設置爲UNSPECIFIED
。
- 1. 如何使用JMS API從WMQ訪問RFH2/usr文件夾
- 2. Django測試客戶端:如何刪除http標頭
- 3. 如何從mongodb中刪除文件並更新客戶端?
- 4. 如何使用PHP刪除客戶端文件?
- 5. JMS非MDB客戶端
- 6. 通用JMS客戶端
- 7. JMS客戶端路由
- 8. JMS客戶端問題
- 9. 刪除客戶端驗證
- 10. 客戶端刪除確認
- 11. 在通過JMS橋向IBM MQ發佈消息時禁用RFH2頭文件
- 12. 在Twisted客戶端生成頭文件
- 13. 如何在Apache駱駝中添加用戶定義的rfh2頭文件
- 14. qpid/amqp jms客戶端的客戶端故障切換?
- 15. 如何Hazelcast客戶端被通知另一添加或刪除客戶端的
- 16. 從客戶端刪除任何會話
- 17. 如何使用PyChef做'刀客戶端刪除'和'刀客戶端創建'?
- 18. 無法從客戶端刪除服務器中的文件?
- 19. 刪除客戶端計算機上的文件
- 20. 客戶端客戶端未收到JMS回覆
- 21. 客戶端之間的JMS/MQ機密
- 22. 防火牆後的JMS客戶端
- 23. 遠程JMS隊列的客戶端
- 24. 獨立客戶端中的JMS連接
- 25. 如何刪除S3開頭的文件
- 26. 如何從文件的開頭刪除??
- 27. 如何刪除以' - '開頭的文件
- 28. 如何從網頁讀取客戶端文件頭?
- 29. 如何在CXF客戶端動態添加HTTP頭文件?
- 30. 如何使用asp.net頭文件獲取客戶端ip地址?