如何在standalone-ha.xml中将Jgroups UDP设置为单播而不是默认多播

时间:2016-10-17 12:56:43

标签: udp jboss7.x wildfly jgroups unicast

Jgroup使用“默认情况下IP多播向所有成员发送消息(UDP)以及发现初始成员。但是,如果不能使用多播,则UDP可以配置为发送多个单播消息而不是一个多播消息。要将UDP配置为使用多个单播消息来发送组消息而不是使用IP多播,必须将ip_mcast属性设置为false。 (根据jboss文档https://developer.jboss.org/

我的问题是如何在wildfly中将“ip_mcast”值传递给false?下面是standalone-ha.xml中的示例jgroups子系统。在xsd中,我没有看到传递此值的方法。请帮忙!!

<subsystem xmlns="urn:jboss:domain:jgroups:4.0">
      <channels default="ee">
        <channel name="ee" stack="udpgossip"/>
      </channels>
      <stacks>
        <stack name="udpgossip">
          <transport type="UDP" socket-binding="jgroups-tcp"/>
          <protocol type="TCPGOSSIP">
            <property name="initial_hosts">172.17.0.2[12001]</property>
        </protocol>
          <protocol type="MERGE3"/>
          <protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>
          <protocol type="FD"/>
          <protocol type="VERIFY_SUSPECT"/>
          <protocol type="pbcast.NAKACK2"/>
          <protocol type="UNICAST3"/>
          <protocol type="pbcast.STABLE"/>
          <protocol type="pbcast.GMS"/>
          <protocol type="MFC"/>
          <protocol type="FRAG2"/>
        </stack>
      </stacks>
    </subsystem>

1 个答案:

答案 0 :(得分:0)

在架构中,<transport/>扩展<protocol/>,协议可以拥有属性,正如配置示例已经显示的那样。所以设置它的正确方法应该是

<transport type="UDP" socket-binding="jgroups-tcp">
    <property name="ip_mcast">false</property>
</transport>