MQ에서 메시지를 소비

hazzy :

나는 MQ하지만 코드 중단에서 메시지를 소비하려고하고 출력을 표시하지 않습니다.

JmsFactoryFactory FF = jmsFactoryFactory.getInstance(WMQConstants.WMQ_PROVIDER);
JmsConnectionFactory cf = FF.createConnectionFactory();
cf.setStringProperty(WMQConstants.WMQ_HOST_NAME, HOST);
cf.setStringProperty(WMQConstants.WMQ_PORT, PORT);
cf.setStringProperty(WMQConstants.WMQ_CHANNEL, CHANNEL);
cf.setStringProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT);
cf.setStringProperty(WMQConstants.WMQ_QUEUE_MANAGER, QMGR);
cf.setStringProperty(WMQConstants.WMQ_APPLICATIONNAME, "JMS");
Connection connection = cf.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
destination = session.createQueue(queuename);
MessageConsumer consumer1 = session.createConsumer(destination);

Message reply = consumer1.receive();
System.out.println(reply);

이 메시지와 중지를 표시하지 않습니다 심지어 종료되지 않습니다.

저스틴 버트 :

당신은 호출 할 필요가 start()인스턴스의에 javax.jms.Connection소비자, 예를 흘러 메시지를 얻기 위해 :

connection.start()

또한, 그 호출을 지적 그것의 가치는 javax.jms.MessageConsumer#receive()메시지가 수신 될 때까지 당신이 예상되는 동작이를보고있는 있도록 블록으로 예상된다. 차단하지 않으려면 당신이 호출 할 수 있습니다 javax.jms.MessageConsumer#receive(long)와 (밀리 초) 시간 제한을 지정합니다.

추천

출처http://43.154.161.224:23101/article/api/json?id=282407&siteId=1