19.4.4. 为 HornetQ 群集切换 UDP 至 TCP
下面的例子使用了 EAP 6 附带的 standalone-full-ha.xml 默认配置文件。
注意
如果启用了安全性,您必须设置 cluster-password 属性:
<cluster-password>${jboss.messaging.cluster.password:ChangeMe>}</cluster-password>
删除 broadcast-groups 和 discovery-groups:
<broadcast-groups> <broadcast-group name="bg-group1"> <socket-binding>messaging-group</socket-binding> <broadcast-period>5000</broadcast-period> <connector-ref>netty</connector-ref> </broadcast-group> </broadcast-groups> <discovery-groups> <discovery-group name="dg-group1"> <socket-binding>messaging-group</socket-binding> <refresh-timeout>10000</refresh-timeout> </discovery-group> </discovery-groups
也可以选择删除 "messaging-group" 套接字绑定
<socket-binding name="messaging-group" port="0" multicast-address="${jboss.messaging.group.address:231.7.7.7}" multicast-port="${jboss.messaging.group.port:9876}"/>
配置合适的 Netty 连接器 - 群集里的其他每个节点都对应一个。
例如,如果群集是三个节点则配置两个 Netty 连接器;如果群集是两个节点则配置一个 Netty 连接器。下面是关于三个节点群集的配置示例:<netty-connector name="other-cluster-node1" socket-binding="other-cluster-node1"/> <netty-connector name="other-cluster-node2" socket-binding="other-cluster-node2"/>
配置相关的套接字绑定。
注意
如果需要,系统属性替换可以用于 "host" 或 "port"。<outbound-socket-binding name="other-cluster-node1"> <remote-destination host="otherNodeHostName1" port="5445"/> </outbound-socket-binding> <outbound-socket-binding name="other-cluster-node2"> <remote-destination host="otherNodeHostName2" port="5445"/> </outbound-socket-binding>
配置 cluster-connection 使用这些连接而不是默认的 discovery-group:
<cluster-connection name="my-cluster"> <address>jms</address> <connector-ref>netty</connector-ref> <static-connectors> <connector-ref>other-cluster-node1</connector-ref> <connector-ref>other-cluster-node2</connector-ref> </static-connectors> </cluster-connection>
您必须为每个群集节点重复这个过程,这样每个节点都有对于群集里其他每个节点的连接器。注意
请不要配置连接自身的节点。这会被当作配置错误。