ActiveMQ(九)——Destination高级特性

1、通配符(wildcards)web

  • 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>

    2、组合队列
        组合队列容许用一个虚拟的destination表明多个destinations。这样就能够经过composite destinations在一个操做中同时向多个queue发送消息。
    1:客户端实现的方式
    ActiveMQ(九)——Destination高级特性
    2:在xml配置实现的方式
    ActiveMQ(九)——Destination高级特性
    3.使用filtered destinations,在xml配置实现的方式
    ActiveMQ(九)——Destination高级特性
    4.避免在network链接broker中,出现重复消息
    ActiveMQ(九)——Destination高级特性ide

3、配置启动的Destinations
若是须要在ActiveMQ启动的时候,建立Destination的话,能够以下配置:
ActiveMQ(九)——Destination高级特性
4、删除不活动的Destinations
    通常状况下,ActiveMQ的queue在不使用以后,能够经过web控制台或是JMX方式来删除掉。也能够经过配置,使得broker能够自动探测到无用的队列(必定时间内为空的队列)并删除掉,回收响应资源。以下配置:
ActiveMQ(九)——Destination高级特性
说明:
schedulePeriodForDestinationPurge:设置多长时间检查一次(毫秒),默认为0
inactiveTimeoutBeforeGC:设置当Destination为空后,多长时间被删除,默认为60
gcInactiveDestinations:设置删除不活动队列,默认为false
5、Destination选项
    队列选项是给consumer在JMS规范以外添加的功能特性,经过在队列名称后面使用相似URL的语法添加多个选项。包括:
ActiveMQ(九)——Destination高级特性
使用示例:
ActiveMQ(九)——Destination高级特性
6、虚拟Destinations
ActiveMQ(九)——Destination高级特性
为了解决这两个问题,ActiveMQ中实现了虚拟Topic的功能
ActiveMQ(九)——Destination高级特性
ActiveMQ(九)——Destination高级特性
7、 镜像队列
ActiveMQ(九)——Destination高级特性
8、每一个Destination单独策略配置
ActiveMQ(九)——Destination高级特性code