簡體   English   中英

Spring JMS根據請求開始偵聽jms隊列

[英]Spring JMS start listening to jms queues on request

Spring提供@JMSListener注釋來偵聽來自特定隊列的消息。 還有一種替代方法可以實現JmsListenerConfigurer並注冊MessageListener

在這兩種情況下,必須在應用程序啟動時通過代碼中的硬編碼或通過屬性來知道隊列的名稱。

有沒有辦法在應用程序啟動后很長時間內偵聽應用程序已知其名稱的隊列?

這應該工作。

  1. 使用虛擬隊列名稱和id配置@JmsListener
  2. 使用autoStartup false配置偵聽器容器工廠
  3. 准備就緒后,使用來自JmsListenerEndpointRegistryid來獲取對偵聽器容器的JmsListenerEndpointRegistry (自動將注冊表連接到您的應用程序並調用getListenerContainer(id) )。
  4. 將容器轉換為AbstractMessageListenerContainer並使用所需的隊列調用setDestinationName (或setDestination )。
  5. start()它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM