Java 尝试从MQ读取消息时始终接收空消息
我尝试从MQ接收消息。 我可以在MQ资源管理器中查看消息。 但是我不能得到这些信息。它总是返回null。 但我可以将消息放到队列中 代码在这里Java 尝试从MQ读取消息时始终接收空消息,java,jms,ibm-mq,Java,Jms,Ibm Mq,我尝试从MQ接收消息。 我可以在MQ资源管理器中查看消息。 但是我不能得到这些信息。它总是返回null。 但我可以将消息放到队列中 代码在这里 MQQueueConnectionFactory cf = new MQQueueConnectionFactory(); cf.setHostName("localhost"); cf.setPort(1415); cf.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQ
MQQueueConnectionFactory cf = new MQQueueConnectionFactory();
cf.setHostName("localhost");
cf.setPort(1415);
cf.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT);
cf.setQueueManager("TEST");
cf.setChannel("TEST.CHANNEL");
MQQueueConnection connection = (MQQueueConnection)cf.createQueueConnection("mqusr","q@789945");
MQQueueSession session = (MQQueueSession) connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
MQQueue replyQueue = (MQQueue) session.createQueue("queue:///TEST.REPLY.QUEUE");
MQQueueReceiver receiver = (MQQueueReceiver) session.createReceiver(replyQueue);
TextMessage receivedMessage = (TextMessage) receiver.receive(10000);
String reponseMessage = receivedMessage != null ? receivedMessage.toString() : "";
要接收消息,您需要先发出connection.start(),然后再执行receive.receive(10000)–要接收消息,您需要先发出connection.start(),然后再执行receive.receive(10000)–要接收消息,您需要先发出connection.start(),然后再执行receive.receive(10000)是的,现在工作正常。@Subbaraocys我可以读取消息,但是消息在队列中不稳定,这不会减少计数。@subbaraocWorking现在我更正了,谢谢@subbaraocTo在执行receive.receive(10000)之前接收需要发出connection.start()的消息是的,现在工作正常。@SubbaraOcys我可以阅读邮件,但是邮件在队列中不稳定,这不会减少计数。@subbaraocWorking now我更正了,谢谢@subbaraoc