Pregunta

Tengo debajo del código de flujo pseudo que usa la cola para enviar el mensaje y luego escucho el tema sincrónicamente. El proveedor de JMS subyacente es TIBCO EMS.

//Send to Queue
Connection connection = createConnection(); // get the JMS connection
Session session = connection.createSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE);
Queue queue = session.createQueue("sample.queue");
MessageProducer messageProducer =  session.createProducer(queue);
Message message = createMessage(); //create JMS message
messageProducer.send(message);

Ahora escucho un tema usando el mismo session objeto creado y espere hasta que haya una respuesta.

Topic topic = session.createTopic("sample.topic");
MessageConsumer messageConsumer =  session.createConsumer(topic);
//wait for the reply.
Message responseMessage = messageConsumer.receive(60000);
if(responseMessage != null) {
    System.out.println("Message received..");
}

El problema que me enfrento es que el objeto de mensaje sale como nulo. Probé con una herramienta de monitoreo JMS y el tema tiene algún mensaje, pero el código anterior no puede recogerlo incluso después de 60 segundos.

¿Alguna idea de qué me estoy perdiendo aquí?

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top