Java 尝试从MQ读取消息时始终接收空消息

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

我尝试从MQ接收消息。 我可以在MQ资源管理器中查看消息。 但是我不能得到这些信息。它总是返回null。 但我可以将消息放到队列中

代码在这里

 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