Domanda

Ho sotto pseudo codice di flusso che utilizza la coda per inviare il messaggio e quindi ascoltare l'argomento in modo sincrono. Il provider di JMS sottostante è 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);

Ora ascolto un argomento usando lo stesso session Oggetto creato e attendere fino a quando non c'è una risposta.

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..");
}

Il problema che sto affrontando è che l'oggetto del messaggio sta uscendo come nullo. Ho testato con uno strumento di monitoraggio JMS e l'argomento ha qualche messaggio, ma il codice sopra non è in grado di raccoglierlo anche dopo 60 secondi.

Qualche idea su cosa mi manca qui?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top