java需要向消息添加头,该消息将被发送到IBM MQ websphere
我不知道如何将消息头添加到发送到IBMMQWebSphereServer的消息中。以下是我尝试使用的代码,但我遇到异常:
创建与服务器的连接
qMgr = new MQQueueManager(queueMgr, props);
int openOptions = MQC.MQOO_INPUT_AS_Q_DEF
| MQC.MQOO_OUTPUT | MQC.MQOO_INQUIRE;
queue = qMgr.accessQueue(queueName, openOptions);
message = new MQMessage();
发送信息
public String sendMessage(){
MQPutMessageOptions pmo = new MQPutMessageOptions();
message.format = MQC.MQFMT_STRING;
message.feedback = MQC.MQFB_NONE;
message.messageType = MQC.MQMT_DATAGRAM;
message.messageId = MQC.MQMI_NONE;
message.correlationId = MQC.MQCI_NONE;
message.writeString(sMsg);
queue.put(message,pmo);
}
我尝试使用下面的代码添加标题
((TextMessage)message).setStringProperty(header_name,header_value);
但是我得到了一个例外java.lang.ClassCastException: com.ibm.mq.MQMessage cannot be cast to javax.jms.TextMessage
我被困在这里。如果这个问题解决了,那么谜语就完成了
# 1 楼答案
为什么要混合使用Java SE MQ API调用和JMS调用
从手册中,在WebSphere MQ Class for Java的“处理消息属性”部分:
因此,你为什么不简单地做:
最后一点,请不要回复说您不能这样做,因为您使用的是WMQ v6。WMQ v6在大约2年前就不支持了,所以您必须升级到WMQ v7。*(最好是WMQ v7.5)