我使用的是activemq(對我來說很新穎),我有一個生產者和幾個消費者。如何爲我在activemq中的每個消費者創建單獨的隊列?
事情是,我想,以解決特定消費者的消息。 我讀到selectors也讀到it is a bad practice使用,也瞭解了一些alternatives。
這種方案聽起來對我好,但我不知道我怎麼能創造這些隊列爲每一個我的奴隸之一。 我的奴隸的每個人都有一個ID(UUID)時,我創建了聽衆,我可以使用 - 這樣的:
<jms:listener-container
container-type="default"
connection-factory="jmsConnectionFactory"
acknowledge="auto">
<jms:listener destination="slave.tasks.${slave.id}" ref="jmsActivityListener" method="onMessage" />
</jms:listener-container>
這需要slave.properties文件包含以下項:
slave.id=XXXXXXX
我的問題是:
1)是的方式做到這一點(限定每個接收者的隊列)?
2)我怎麼能產生這種salve.id值(我不希望用戶填寫,因爲它必須是唯一的)?
感謝
感謝您的答覆,但我認爲這不會解決我的問題 - 因爲我想將消息發送到特定的消費者(不是全部)。如果我正確理解這一點,這更像是一個我想避免的Topic解決方案,因爲消息必須發送給一個消費者(例如100),所以我不想使用主題( – Noam
如果您在jmsConnectionFactory中使用admins角色的用戶/ pwd,則您的目標將在運行時自動創建,但您需要找到將每個用戶映射到其編號的解決方案 –
是的 - 我知道並且正在使用管理員的信譽。但我需要一種方法來配置從屬端的偵聽器 - 爲此,我需要知道不屬於配置的id(正如我在我的問題中提到的) – Noam