2016-07-26 52 views
1

我們使用SimpleMessageListenerContainer((max)consumer count爲75)。我們有一個用例,我們需要動態訂閱和取消某些隊列的訂閱,因此我們使用addQueueNames()和removeQueueNames ()。當消費者數量爲75時,addQueueNames()方法需要大約15秒才能完成。我們目前有大約200個隊列。我們想要經常添加和刪除監聽器中的隊列,那麼我們是否有其他方法來減少這個時間?在SimpleMessageListenerContainer上使用addQueueNames需要更多時間

回答

0

當添加或刪除隊列時,我們必須取消當前消費者並從新的隊列列表中重新消耗。

該功能並非真正用於快速更改隊列列表,特別是對於大量這樣的隊列。

如果您使用多個容器(每個容器都包含總隊列列表的一個子集),則可能會發現事情會更具性能,以避免爲每次更改攪動所有使用者。我們正在計劃完全重寫偵聽器容器,以便利用rabbitmq客戶端庫see this answerassociated JIRA issue中的一些更改來實現某些功能更多信息。

作爲重寫的一部分,我們或許可以更有效地改變隊列列表;隨時給JIRA添加評論,所以我們不會忘記。

+0

Thanks @GaryRussell。我評論了Jira問題。 – Kot

+0

春季引導'2.0'現在準備好了嗎? – 2017-03-24 14:24:04

+0

2.0.0.M2(里程碑2)現在可用; M3將於下週發佈,最終發佈將在夏季(目前是6月)。 –