[英]Synchronous behavior with JMS Topic
我下面有流程的偽代碼,該偽代碼使用隊列發送消息,然后同步收聽主題。 底層的JMS提供者是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);
現在,我使用創建的相同session
對象收聽主題,然后等待響應。
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..");
}
我面臨的問題是消息對象以null形式出現。 我使用jms監視工具進行了測試,該主題確實有一些消息,但是即使在60秒后,上面的代碼也無法接收它。
知道我在這里想念什么嗎?
弄清楚了。 在調用messageConsumer.receive();
之前messageConsumer.receive();
,調用connection.start()
以開始傳遞消息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.