簡體   English   中英

與JMS主題的同步行為

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM