【发布时间】:2017-04-20 01:48:30
【问题描述】:
您好,我正在尝试在 RFH2 MQ 标头中添加数据。 我想要的数据格式是:
struc id : RFH
version:2
encoding:546
CodedCharSetid:437
Format:MQSTR
Flags:0
NameValeCCSID:1208
NamevalueLen:56
Namevaluedata:<mcd><msd>jms_text<Msd><Type>Hello</type></mcd>
NamvalueLen:56
NameValuedata:<jms><dst></dst></jms>
NamevalueLen:56
NameValuedata:<usr>Hi</usr>
我有以下代码,但我不明白如何添加 NameValueLen 和 NAMEVALUEDATA 部分。有人可以检查我编写的代码并进一步指导我吗?
MQMessage msg = new MQMessage();
msg.format = MQC.MQFMT_RF_HEADER_2; // Msg Format
msg.writeString(MQC.MQRFH_STRUC_ID); // StrucId
msg.writeInt4(MQC.MQRFH_VERSION_2); // Version
msg.writeInt4(MQC.MQRFH_STRUC_LENGTH_FIXED_2 + folderLength + 4);
msg.writeInt4(MQC.MQENC_NATIVE); // Encoding
msg.writeInt4(MQC.MQCCSI_DEFAULT); // CodedCharacterSetId
msg.writeString(MQC.MQFMT_NONE); // Format (content)
msg.writeInt4(MQC.MQRFH_NO_FLAGS); // Flags
msg.writeInt4(1208); // NameValueCCSID = UTF-8
【问题讨论】:
-
当 JMS 应用程序读取从非 JMS 应用程序发送的消息时,MQ 会处理填充 RFH2 标头。如果您想要更多控制权,可以使用 IBM MQ Classes for JMS 而不是 IBM MQ Classes for Java。
-
@JoshMc 你能告诉我如何使用它吗?任何可以让我正确理解 MQ 的链接