2012-02-20 64 views
0

我已經將ActiveMQ NMS與我的asp mvc網站集成在一起,它的大部分工作都非常棒,但是我遇到了最近一期的磚牆,無法找到我的生活,無論它是我的缺少API支持,甚至是設計缺陷(可能在API中)....NET中的activeMQ nms - 如何檢查臨時隊列是否被刪除?

我正在嘗試做一件簡單的事情 - 我需要檢查一下臨時隊列是否在嘗試之前被刪除發送消息給它。一旦客戶端斷開連接,關閉瀏覽器等,臨時隊列就會被刪除,因爲這就是我使用臨時隊列的原因。不過,我將目的地存儲在服務器上,以便我可以將某些消息發送到某些目的地,但仍然連接。一切都很好,直到客戶端離開/關閉瀏覽器,這意味着ActiveMQ將刪除臨時隊列,我需要停止發送消息到該臨時隊列,直到他們重新連接,因爲如果我嘗試我得到以下異常:

javax.jms .JMSException:目標temp-queue:// ID:WIN-HP6U1SD1FB4-29628-1329687650640-0:1:85不存在。

這使得總感覺,因爲他們離開頁面或關閉瀏覽器後,臨時隊列消失了。但是這裏有個殺手 - 在這個異常(我發現)之後,整個郵件系統就停止了!在重新啓動之前,activemq不再發送消息。這似乎是絕對瘋狂的,除非我錯過了一些非常基本的東西,我如何使用它。基本上我無法弄清楚的是:

1)爲什麼activeMQ在嘗試發送消息到臨時隊列dest不存在?爲什麼它不能拋出異常並繼續?

2)我可以和#1住在一起,但是如何在發送之前檢查一個臨時目標隊列是否存在? API中沒有任何東西似乎支持這一點。 3)如果#2出於某種瘋狂的原因是不可能的,我該如何從此jms異常中恢復,從而使整個消息隊列系統失效?

我會發布代碼,但不知道這將有助於這裏。

回答

相關問題