Consumir mensaje de MQ

Hazzy:

Estoy tratando de consumir mensaje de MQ, pero se bloquea el código y no muestra salida.

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);

No se muestra el mensaje y se cuelga y ni siquiera terminar.

Justin Bertram:

Tiene que llamar start()en la instancia de javax.jms.Connectioncon el fin de obtener mensajes a fluir al consumidor, por ejemplo:

connection.start()

Además, vale la pena señalar que la llamada javax.jms.MessageConsumer#receive()se espera que el bloque hasta que se recibe un mensaje de modo que se está viendo el comportamiento esperado allí. Si no desea bloquear puede llamar javax.jms.MessageConsumer#receive(long)y especificar un tiempo de espera (en milisegundos).

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=282412&siteId=1
Recomendado
Clasificación