我正在使用 JMS 客户端。队列是 IBM MQ。当我在队列上写入数据时,它会添加 RFH 标头。如何剥离 RFH 标头。我无法使用 IBM MQ api。
另一种方法是使用队列 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");
Run Code Online (Sandbox Code Playgroud)
从 IBM WebSphere MQ v7 开始,告诉 Java 实现不生成 MQRFH2 标头的推荐方法是调用MQDestination.setMessageBodyStyle( WMQConstants.WMQ_MESSAGE_BODY_MQ)as属性,如果显式设置为 ,TARGCLIENT则仅用作后备选项。MessageBodyStyleUNSPECIFIED
在您的发送方应用MQDestination.setTargetClient程序中使用 WMQConstants.WMQ_CLIENT_NONJMS_MQ参数调用方法。这将确保RFH2消息中不包含标头。
可用于 setTargetClient 方法的另一个值是MQJMS_CLIENT_JMS_COMPLIANT。这表明该RFH2格式用于发送信息。使用 WebSphere MQ 类进行 JMS 的应用程序可以理解该RFH2格式。MQJMS_CLIENT_JMS_COMPLIANT当您与 JMS 应用程序的目标 WebSphere MQ 类交换信息时设置该常量。
| 归档时间: |
|
| 查看次数: |
14367 次 |
| 最近记录: |