ActiveMQ network connector URI添加多参数配置问题咨询
正确配置多参数的方法
你遇到的启动失败由两个常见问题导致,按以下规则修改即可:
- XML特殊字符转义
XML规范中&属于预定义保留字符,不能直接出现在属性值中,必须转义为&,你之前直接写&会触发XML解析错误,是启动失败的核心原因。 - 参数归属区分
需明确配置参数所属的协议层:
- 属于
failover协议的参数(比如重连相关的useExponentialBackOff、maxReconnectDelay),要放在failover()的括号内部,跟在broker地址列表后面 - 属于
static协议的参数,才放在整个URI的最末尾问号后
正确配置示例
两个failover参数的配置写法:
<networkConnectors> <networkConnector uri="static:failover:(tcp://<host1>:<port1>,tcp://<host2>:<port2>?useExponentialBackOff=false&maxReconnectDelay=3000)"/> </networkConnectors>
如果同时需要配置static协议的参数,写法如下:
<networkConnectors> <networkConnector uri="static:failover:(tcp://<host1>:<port1>,tcp://<host2>:<port2>?useExponentialBackOff=false&maxReconnectDelay=3000)?initialReconnectDelay=1000"/> </networkConnectors>
验证方式
配置修改完成启动后,可通过broker运行日志搜索对应参数名确认是否生效,也可以通过JMX查看NetworkConnector对应的MBean属性,验证配置是否正常加载。
内容的提问来源于stack exchange,提问作者J Kost
相关产品推荐
相关产品推荐

