[英]Publish subscribe implementation with Spring JMS
我有一個JmsTemplate
的JMS隊列實現。 將消息放入隊列時,我希望有多個偵聽器,即,我想使用主題而不是隊列。
我沒有JMS名稱空間配置。 當某人在某個主題中發送消息時,要使多個偵聽器偵聽該主題,需要進行哪些更改。
我猜您可能正在使用DefaultMessageListenerContainer
。 可以肯定的是,您希望多個組件收到相同的消息(即,您不想並行處理消息)。
假設我沒錯,並且組件A和組件B應該收到相同的消息,則只需在同一主題上創建兩個DefaultMessageListenerContainer
實例,然后將pubSubDomain
屬性設置為true
。 確保尚未在偵聽器容器上設置任何並發,或者更好的做法是,將並發設置為1以使其明確。
這會給像
<bean id="listener1"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="pubSubDomain" value="true"/>
<property name="concurrency" value="1"/>
<property name="destinationName=" value="...."/> <!-- topic name -->
<property name="messageListener" ref="...."/>
</bean>
然后,您應該為第二個組件創建一個類似的bean。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.