如何實現異步JMS應用程序?是否有必要更改服務器程序或只是我應該更改客戶端代碼? 我想知道如何將同步JMS消息更改爲異步?異步JMS消息
Q
異步JMS消息
2
A
回答
2
很簡單。您需要爲消費者分配消息偵聽器以異步接收消息。
consumer.setMessageListener(new MessageListener).
谷歌搜索將爲您提供一些樣本。
+0
也不要忘記MDBs – Raman 2012-07-23 09:59:21
1
Java EE中的消息驅動Bean是異步的。自然地。一個簡單的MDB看起來是這樣的:
@MessageDriven(mappedName = "jms/MyQueue") // JNDI name for a specific Destination (queue or topic)
public class MyMDB implements MessageListener{
public void onMessage(Message msg){
// handle it async.
}
}
否則,在普通的Java/JMS,它幾乎一樣簡單,同樣的代碼,但不是在@MessageDriven註釋,一些初始化代碼有許多工作要做,以獲得JMS消費者啓動並運行。當然,標準的JMS設置程序也必須完成,例如獲取連接工廠,創建連接和查找目標。
public class MyConsumer implements MessageListener{
public void init(Connection conn, Destination dest){
// connection and destination from JNDI, or some other method.
Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageConsumer cons = sess.createConsumer(dest);
cons.setMessageListener(this);
conn.start();
}
@Override
public void onMessage(Message msg) {
// Do whatever with message
}
}
相關問題
- 1. JMS確認異步消息
- 2. JMS消息解析異常
- 3. 如何理解JMS中的「同步」和「異步」消息傳遞?
- 4. 何時使用JMS中的同步和異步消息?
- 5. 如何在處理入站消息後異步發佈新的JMS消息?
- 6. 異步消息golang
- 7. 在異步讀取消息時檢查JMS類型
- 8. 如何暫停和恢復異步使用JMS消息
- 9. JMS API是否支持異步雙向消息傳遞?
- 10. JMS消息
- 11. 消息驅動Bean可以同步處理JMS消息嗎?
- 12. 1隊列中的同步和異步消息接收器(Spring和ActiveMQ)JMS API
- 13. Weblogic JMS異常055167「不能支持多個同步消息預取消費者」。
- 14. 異步處理消息框
- 15. api.ai中的異步消息
- 16. 異步消息測試
- 17. NLOG異步消息爲了
- 18. 異步消息發送方
- 19. Jms消息確認
- 20. JMS重寫消息
- 21. JMS消息持久
- 22. JMS消息交還
- 23. 只讀JMS消息
- 24. 在Spring JMS消息
- 25. JMS消息大小
- 26. 在消息ID上過期JMS消息
- 27. JMS/spring/AMQ異步處理消息時出現問題或混淆
- 28. 爲什麼以及何時應該使用異步消息,如JMS或AMQP?
- 29. 在調用onMessage()時儘快調用JMS異步消息,從隊列中刪除消息
- 30. JMS先前消息確認
JMS本質上是異步的,我不明白你,你是程序員嗎? – Raman 2012-07-23 06:25:02
不,我剛剛在j2ee中搜索了異步方法,當我熟悉jms時,我發現客戶端可以異步接收來自服務器的消息。我想知道我該怎麼做? – Azad 2012-07-23 06:33:07