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 is10000
milliseconds (10 seconds).