SpringBoot集成ArtemisMQ,設置動態消息類型

SpringBoot項目集成ArtemisMQ,那麼想動態的更換消息類型,怎麼辦呢?

通過設置org.springframework.jms.support.destination.JmsDestinationAccessor#setDestinationResolver 方法進行設置目的地解析器

  • 將之設置爲 BeanFactoryDestinationResolver
     

     

     

  • 默認提供的org.springframework.jms.support.destination.DynamicDestinationResolver 動態解析目的地實現類,只能在啓動配置文件配置屬性:spring.jms.pub-sub-domain = true/false ;全局使用的屬性值

     

     

  • 第三種方式就是重寫 org.springframework.jms.support.destination.DynamicDestinationResolver 的解析提供的目的地名稱的核心代碼了,根據自己提供的名稱的規則解析爲指定的 隊列或者訂閱 模式

     

 

ArtemisMQ的性能調優章節,有一句

 

 所以,需要自己進行緩存目標對象(例如,把目的地對象成爲Bean單例組件)

 

其中著名一句話,是Spring Jms是反模式

 

 

如果要更改 JmsTemplate.destinationResolver屬性,則指需在IOC容器中註冊一個 DestinationResolver 接口的實現類即可

 

 



 

ArtemisMQ 官方文檔

 

 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章