如何實現異步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. 異步消息golang
- 5. 如何暫停和恢復異步使用JMS消息
- 6. JMS API是否支持異步雙向消息傳遞?
- 7. 在異步讀取消息時檢查JMS類型
- 8. JMS消息消費
- 9. 消息驅動Bean可以同步處理JMS消息嗎?
- 10. 1隊列中的同步和異步消息接收器(Spring和ActiveMQ)JMS API
- 11. api.ai中的異步消息
- 12. 異步消息發送方
- 13. 異步消息測試
- 14. 異步處理消息框
- 15. JMS消息持久
- 16. 在Spring JMS消息
- 17. JMS消息交還
- 18. 在消息ID上過期JMS消息
- 19. 爲什麼以及何時應該使用異步消息,如JMS或AMQP?
- 20. 在調用onMessage()時儘快調用JMS異步消息,從隊列中刪除消息
- 21. JMS損壞字節消息
- 22. JMS - 消息redlivery上失敗
- 23. JBoss不處理JMS消息
- 24. Recived JMS消息被截斷
- 25. JMS消息確認超時?
- 26. Java JMS消息傳遞
- 27. 未收到JMS消息
- 28. JMS隊列接收消息?
- 29. JMS消息選擇執行
- 30. jms消息攔截器
JMS本質上是異步的,我不明白你,你是程序員嗎? – Raman 2012-07-23 06:25:02
不,我剛剛在j2ee中搜索了異步方法,當我熟悉jms時,我發現客戶端可以異步接收來自服務器的消息。我想知道我該怎麼做? – Azad 2012-07-23 06:33:07