我正在将消息从Java代码发送到Websphere MQ Server
,当我在MQ服务器上读取同一消息时,它显示为:
message<RFH >
下面是将消息发送到MQ服务器的代码:
private void sendMessage() throws Exception {
ConnectionFactory cf1 = (ConnectionFactory) new InitialContext().lookup("java:comp/env/jms/wmqCF");
// Lookup Queue resource from JNDI
Queue queue = (Queue) new InitialContext().lookup("java:comp/env/jms/wmqQ1");
Connection con = cf1.createConnection();
// start the connection to receive message
con.start();
// create a queue session to send a message
Session sessionSender = con.createSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE);
MessageProducer send = sessionSender.createProducer(queue);
TextMessage msg = sessionSender.createTextMessage("Liberty Sample Message");
// send a sample message
send.send(msg);
if (con != null)
con.close();
System.out.println("Send Message Completed");
}
预期显示为:
Liberty Sample Message
。任何想法,我在这里想念的是什么?
谢谢。
最佳答案
并且,如果您使用另一个JMS程序检索消息,则消息数据将为“自由样本消息”。
您正在混合JMS和非JMS程序类型。
.lookup(“ java:comp / env / jms / wmqQ1”);
将“ TARGCLIENT”属性设置为MQ。即TARGCLIENT(MQ)
这样,消息数据将没有RFH2标头。