我已經配置JMS隊列,其中多個聽衆在聽同一個隊列,如果我把多個對象到我的隊列其中聽者會得到的消息?有沒有保證知道哪個聽衆聽我的消息?如何知道哪些JMS偵聽器隊列聽消息?
0
A
回答
0
嗨user2336442(順便說一句好聽的名字......), 如果兩個接收者在同一個隊列上偵聽,那麼他們不能保證他們中的哪一個首先接收到這個消息,因爲他們遵循先來先得的原則,提供服務。如果兩個聽衆都在同一臺機器上(同一IP地址)有沒有辦法來了解哪一個收到的消息,否則,你可以使用控制檯粗略看到的郵件已發送......
1
你有沒有自定義編碼聽衆?如果是這樣,只需添加一些代碼來生成每個聽者的唯一ID保存ID在一個實例變量。當偵聽器收到消息時,將具有該id的事件輸出到標準日誌文件。
public class MyListener extends MessageListener {
private static int listeners;
private int id;
public MyListener(){
this.id = generateUniqueId();
}
public void onMessage(Message m){
System.out.println("Listener " + id + " got message!");
//do stuff here
}
private synchronized static int generateUniqueId(){
return listeners += 1;
}
}
相關問題
- 1. 如何通知JMS偵聽器'無對象'消息
- 2. 多個集羣正在偵聽相同的JMS消息隊列
- 3. 彈簧數據redis消息偵聽器偵聽消息兩次
- 4. 如何識別Spring Jms消息監聽器中的消息隊列名稱
- 5. JMS:偵聽OracleAQ
- 6. 消費MQ消息:JMS偵聽VS消息驅動Bean
- 7. 無法在偵聽器偵聽到彈簧jms中的消息後將主體中的消息取消。
- 8. 如何實現ServletContextListener來偵聽消息隊列? (Tomcat,ActiveMQ)
- 9. Spring JMS偵聽器容器偵聽器安裝程序超時
- 10. 哪個MDB在隊列上偵聽
- 11. Spring JMS開始根據請求偵聽jms隊列
- 12. 一次偵聽一個jms隊列並只處理10條消息
- 13. 讓ServerSocket知道要偵聽哪些數據
- 14. JMS隊列與2個監聽器
- 15. Oracle AQ - 如何確定一個偵聽器是否正在偵聽隊列
- 16. 如何轉換JMS消息對接收的消息偵聽到的域對象
- 17. 銷燬JMS消息監聽器
- 18. IBM MQ JMS消息監聽器
- 19. 開始停止JMS消息監聽器
- 20. JMS消息監聽器設計
- 21. Ignite服務器偵聽哪些端口
- 22. 如何爲WAS激活實現自定義消息隊列偵聽器?
- 23. 我們如何知道哪個使用者從JMS隊列中獲取消息?
- 24. 如何在偵聽器使用camel接收它之前將隊列中的JMS消息延遲?
- 25. 無法偵聽遠程beanstalkd消息隊列
- 26. C#中的SQL消息偵聽器#
- 27. 問題與JMS偵聽
- 28. 確定何時在隊列中沒有消息時在SpringBoot中終止Jms偵聽器
- 29. 收聽Azure隊列消息Win Form
- 30. 駱駝訊息偵聽器
你可以張貼一些代碼? – Barranka 2013-04-30 15:34:24