2015-03-02 65 views
0

我有一個多用戶應用程序,我已經將Spring AMQP合併到我的RabbitMQ服務器上,在測試不同的用戶之後,我注意到同時登錄不同帳戶會導致其他用戶攔截郵件,而不僅僅是但是當沒有人登錄時,應用程序仍在抓取消息。我意識到我可能需要爲每個用戶設置一個vHost,並確保AMQP沒有自動連接...Spring AMQP Multiple Users

這是我的問題進入的地方,你應該怎麼做?

我正在使用JAVA配置版本,並且使XML變得簡單,但它確實沒有。我嘗試關閉並銷燬SimpleMessageListener,使用RabbitUtil在用戶註銷時嘗試關閉連接,然後嘗試在重新登錄時使用createConnection,但所有這些操作都不起作用或導致異常。我將autoStartup設置爲false,這似乎有效,但只要有人登錄窗口即可。而這只是問題的一半,如果我可以做所有我可以弄清楚主機的事情,但這是這兩個問題中最大的問題,因爲它使這個問題變得無關緊要。

在這一點上,我想知道它是否甚至使多用戶應用程序併發使用。任何幫助將不勝感激。

回答

1

你需要提供更多的信息,包括你在用兔子做什麼和配置。

但是,您可能不需要每個用戶都需要爲每個用戶使用單獨隊列的虛擬主機 - 根據需要聲明它們,使用動態路由密鑰路由到它們;將它們從收聽器容器等中添加/移除它們等。