通配符

功能 > 目标功能 > 通配符

我们支持目标通配符,以便轻松支持联合名称层次结构。这种概念在金融市场数据中已经流行了一段时间,作为一种将事件(如价格变动)组织成层次结构并使用通配符来轻松订阅您感兴趣的信息范围的方法。

例如,假设您正在从股票交易所信息流发送价格消息。您可能会使用某种目标,例如

  • PRICE.STOCK.NASDAQ.ORCL 来发布 Oracle Corporation 在 NASDAQ 上的价格,以及
  • PRICE.STOCK.NYSE.IBM 来发布 IBM 在纽约证券交易所上的价格。

然后,订阅者可以使用精确的目标订阅它需要的精确价格。或者,它可以使用通配符来定义目标的层次模式匹配以进行订阅。

支持的通配符

我们支持以下通配符,这些通配符是相当标准的做法;通配符不是 JMS 规范的一部分,因此是自定义增强功能。

  • . 用于在路径中分隔名称。
  • * 用于匹配路径中的任何名称。
  • > 用于递归匹配从该名称开始的任何目标。

例如,使用上面的示例,这些订阅是可能的。

订阅

含义

`PRICE.>`

任何交易所的任何产品的任何价格

`PRICE.STOCK.>`

任何交易所的任何股票的任何价格

`PRICE.STOCK.NASDAQ.*`

任何在 NASDAQ 上的股票价格

`PRICE.STOCK.*.IBM`

任何在任何交易所的 IBM 股票价格

注意:不要在通配符表达式中的 '>' 后指定任何字符串,它将被忽略。例如,使用通配符 PRICE.>.IBM 也将匹配 PRICE.STOCK.NASDAQ.FB.` 使用 ‘>’ 实际上匹配从目标名称开始到结束的所有内容。

自定义路径分隔符

从版本 5.5.0 开始,我们支持 插件,允许客户端使用客户路径分隔符。因此,而不是

`FOO.BAR.*`

你可以使用

`FOO/BAR/*`

    <plugins>
       .....
       <destinationPathSeparatorPlugin/>
    </plugins>

ActiveMQ Classic 3.2.1 版本

此插件将使用的默认路径分隔符是 /。您可以使用 pathSeparator 属性进一步自定义它。

Apache、ActiveMQ、Apache ActiveMQ、Apache 羽毛徽标和 Apache ActiveMQ 项目徽标是 Apache 软件基金会的商标。版权 © 2024,Apache 软件基金会。根据 Apache 许可证 2.0 授权。