发现传输参考
使用 ActiveMQ Classic > 配置传输 > ActiveMQ Classic 连接 URI > 发现传输参考
发现传输
发现传输的工作原理与 故障转移 传输相同,只是它使用发现代理来查找要连接到的 URI 列表。发现传输也用于 扇出 传输来发现要发送扇出消息的代理。
配置语法
discovery:(discoveryAgentURI)?transportOptions
或者
discovery:discoveryAgentURI
请注意,要能够使用 发现 查找代理,代理需要在代理上启用多播发现代理。
要配置代理中的发现,应使用 XML 配置。以下是使用发现的 示例,它基本上类似于以下内容(请参阅 **discoveryUri**)
<broker name="foo">
<transportConnectors>
<transportConnector uri="tcp://127.0.0.1:0" discoveryUri="multicast://default"/>
</transportConnectors>
...
</broker>
传输选项
选项名称 | 默认值 | 描述 |
---|---|---|
reconnectDelay | 10 | 等待发现的时间 |
initialReconnectDelay | 10 | 首次尝试重新连接到已发现 URL 前等待的时间 |
maxReconnectDelay | 30000 | 我们尝试重新连接之间等待时间的最大值 |
useExponentialBackOff | true | 是否应在尝试重新连接之间使用指数级回退 |
backOffMultiplier | 2 | 指数级回退尝试中使用的指数 |
maxReconnectAttempts | 0 | 如果非 0,则这是尝试重新连接的最大次数,在尝试重新连接的最大次数后,会向客户端发送错误 |
group | default | 协作对等方之间对多播流量进行分区标识符;该组构成发现数据报共享身份的一部分(自 5.2 起) |
示例 URI
discovery:(multicast://default)?initialReconnectDelay=100
将参数应用于已发现的传输
从 5.4 开始,如果 URI 中的传输参数以 discovered.
开头,这些参数也将应用于已发现的传输;例如,在 URI 中添加 discovered.connectionTimeout
参数会将该参数应用于每个已发现的 TCP 传输,即使该参数不是发现传输选项。