5.6. 发现选项

客户端具有一个可选的发现模块,它提供了一个自定义故障转移层,用于连接的代理 URI 不在初始 URI 中指定,而是通过与发现代理交互来发现。目前有两种发现代理实施: 文件观察程序从文件加载 URI 和多播侦听器,它可以与 ActiveMQ 5.x 代理配合使用,以广播其代理地址以供侦听客户端。

使用发现时的常规故障转移相关选项集与之前详述的相同,主前缀从 failover. 改为 discovery.,以及用于提供所有发现的代理 URI 的 URI 选项的 nested 前缀。例如,如果没有代理 URI 详情,一般发现 URI 可能类似如下:

示例:发现 URI

discovery:(<agent-uri>)?discovery.maxReconnectAttempts=20&discovery.discovered.jms.clientID=foo

要使用文件监视器发现代理,请创建一个代理 URI,如下所示:

示例:使用文件监视器代理的一个发现 URI

discovery:(file:///path/to/monitored-file?updateInterval=60000)

文件监视器发现代理的 URI 选项如下所列。

updateInterval
文件更改检查之间的时间(毫秒)。默认值为 30000(30 秒)。

要将多播发现代理与 ActiveMQ 5.x 代理搭配使用,请创建如下代理 URI:

示例:使用多播监听器代理的一个发现 URI

discovery:(multicast://default?group=default)

请注意,在上面的多播代理 URI 中使用 default 作为主机是一个特殊值,由代理使用默认的 239.255.2.3:6155 替换。您可以对此进行更改,以指定用于多播配置的实际 IP 地址和端口。

下方列出了多播发现代理的 URI 选项。

group
用于侦听更新的多播组。默认值为 default