A number of services independently create JGroups channels: three JBoss Cache services (used for HTTP session replication, EJB3 SFSB replication, and EJB3 entity replication), and
HAPartition, a clustering service that underlies most JBoss high availability services.
These channels must only communicate with their intended peers
They must not communicate with channels used by other services, or channels for the same service opened on machines outside the group. Nodes communicating improperly is one of the most common issues for users attempting to cluster JBoss Enterprise Web Platform.
JGroups channels communicate based on group name, multicast address and multicast port. Isolating a JGroups channel means ensuring that different channels use different values for the group name, multicast address, and multicast port.
This section addresses the issue of having multiple independent clusters running within the same environment. For example, you might have a production cluster, a staging cluster, and a QA cluster, or multiple clusters in a QA test lab or development team environment.
To isolate JGroups clusters from other clusters on the network, you must:
- Make sure the channels in the various clusters use different group names. This can be controlled with the command line arguments used to start the server; see Section 23.6.2.2.1, “Changing the Group Name” for more information.
- Make sure the channels in the various clusters use different multicast addresses. This is also easy to control with the command line arguments used to start the server.
- If you are not running on Linux, Windows, Solaris or HP-UX, you may also need to ensure that the channels in each cluster use different multicast ports. This is more difficult than using different group names, although it can still be controlled from the command line. See Section 23.6.2.2.3, “Changing the Multicast Port”. Note that using different ports should not be necessary if your servers are running on Linux, Windows, Solaris or HP-UX.