ActiveMQ(九)——Destination高級特性

一、通配符(wildcards)

  • wildcards用來支持名字分層體系,它不是JMS規範的一部分,是ActiveMQ的擴展
    ActiveMQ支持一下三種wildcards
    1:“.” 用於作爲路徑上名字間的分隔符
    2:“*” 用於匹配路徑上的任何名字
    3:“>” 用於遞歸地匹配任何以這個名字開始的destination
  • 示例,假設有兩個destinations
    PRICE.STOCK.NASDAQ.IBM (IBM在NASDAQ的股價)
    PRICE.STOCK.NYSE.SUNW (SUN在紐約證券交易所的股價)
    那麼:
    1:PRICE.>:匹配任何產品的價格波動
    2:PRICE.STOCK.>:匹配任何產品的股票價格波動
    3:PRICE.STOCK.NASDAQ.:匹配任何在NASDAQ栽面的產品的股票價格變動
    4:PRICE.STOCK.
    .IBM:匹配任何IBM的產品的股票價格波動
  • 客戶化路徑分隔符,比如想用“/”來替換“.”
    <plugins>
    <destinationPathSeparatorPlugin/>
    </plugins>

    二、組合隊列
        組合隊列允許用一個虛擬的destination代表多個destinations。這樣就可以通過composite destinations在一個操作中同時向多個queue發送消息。
    1:客戶端實現的方式
    ActiveMQ(九)——Destination高級特性
    2:在xml配置實現的方式
    ActiveMQ(九)——Destination高級特性
    3.使用filtered destinations,在xml配置實現的方式
    ActiveMQ(九)——Destination高級特性
    4.避免在network連接broker中,出現重複消息
    ActiveMQ(九)——Destination高級特性

三、配置啓動的Destinations
如果需要在ActiveMQ啓動的時候,創建Destination的話,可以如下配置:
ActiveMQ(九)——Destination高級特性
四、刪除不活動的Destinations
    一般情況下,ActiveMQ的queue在不使用之後,可以通過web控制檯或是JMX方式來刪除掉。也可以通過配置,使得broker可以自動探測到無用的隊列(一定時間內爲空的隊列)並刪除掉,回收響應資源。如下配置:
ActiveMQ(九)——Destination高級特性
說明:
schedulePeriodForDestinationPurge:設置多長時間檢查一次(毫秒),默認爲0
inactiveTimeoutBeforeGC:設置當Destination爲空後,多長時間被刪除,默認爲60
gcInactiveDestinations:設置刪除不活動隊列,默認爲false
五、Destination選項
    隊列選項是給consumer在JMS規範之外添加的功能特性,通過在隊列名稱後面使用類似URL的語法添加多個選項。包括:
ActiveMQ(九)——Destination高級特性
使用示例:
ActiveMQ(九)——Destination高級特性
六、虛擬Destinations
ActiveMQ(九)——Destination高級特性
爲了解決這兩個問題,ActiveMQ中實現了虛擬Topic的功能
ActiveMQ(九)——Destination高級特性
ActiveMQ(九)——Destination高級特性
七、 鏡像隊列
ActiveMQ(九)——Destination高級特性
八、每個Destination單獨策略配置
ActiveMQ(九)——Destination高級特性

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