36.2.3. Defining Discovery Groups on the Server

For cluster connections, discovery groups are defined in <JBOSS_HOME>/jboss-as/server/<PROFILE>/deploy/hornetq/hornetq-configuration.xml. All discovery groups must be defined inside a discovery-groups element. There can be many discovery groups defined by HornetQ server. Let us look at an example:
<discovery-groups>
   <discovery-group name="my-discovery-group">
      <local-bind-address>172.16.9.7</local-bind-address>
      <group-address>231.7.7.7</group-address>
      <group-port>9876</group-port>
      <refresh-timeout>10000</refresh-timeout>
   </discovery-group>
</discovery-groups>
Each parameter of the discovery group is considered as follows:

Discovery Group Parameters

name
Each discovery group must have a unique name per server.
local-bind-address
If you are running with multiple network interfaces on the same machine, you may want to specify that the discovery group only listens on a specific interface. To do this you can specify the interface address with this parameter. This parameter is optional.
group-address
This is the multicast IP address of the group to listen on. It should match the group-address in the broadcast group that you wish to listen from. This parameter is mandatory.
group-port
This is the UDP port of the multicast group. It should match the group-port in the broadcast group that you wish to listen from. This parameter is mandatory.
refresh-timeout
This is the period the discovery group waits after receiving the last broadcast from a particular server before removing that server's connector pair entry from its list. You would normally set this to a value significantly higher than the broadcast-period on the broadcast group otherwise servers might intermittently disappear from the list even though they are still broadcasting due to slight differences in timing. This parameter is optional, the default value is 10000 milliseconds (10 seconds).