Macromedia JRun 4 provides enterprise-class server clustering, allowing load balancing and automatic failover at all levels. However, on a machine with multiple network interface cards (NIC), you may notice that after you start up the JRun cluster server, any JRun instance fails to discover other cluster members.
By default, JRun uses JINI and multicast technology to discover the cluster members but the discovery process only happens within the same local network for obvious security reasons. Therefore, if cluster members belong to different networks, the discovery process fails and each JRun instance assumes it is the only server available within the cluster. This is the common situation when you configure JRun clustering on a machine with multiple NIC cards, since these NIC cards usually belong to different networks.
To enable JRun clustering across multiple networks, you need to use unicast discovery for the JRun cluster manager instead. Each NIC card IP address must be added as a unicastPeer in the jrun.xml file under the jrun_home/servers/{yourserver}/SERVER_INF directory.
For example:
<service outputclass="jrunx.cluster.ClusterManager" name="ClusterManager"><attribute name="bindToJNDI">true</attribute><attribute name="enabled">true</attribute><attribute name="clusterDomain">defaultcluster</attribute><!-- While we will discover nearby peers automatically without prior--><!-- knowledge of them, you can also add as many specific hosts as --><!-- you wish; these unicast peers do not need to be nearby or --><!-- reachable via multicast. --><!--EXAMPLE: <attribute name="unicastPeer">sneville</attribute> --><attribute name="unicastPeer">10.1.84.92</attribute><attribute name="unicastPeer">192.168.0.100</attribute> ...<service outputclass="jrunx.cluster.ClusterDeployerService" name="ClusterDeployerService"><attribute name="deployDirectory">{jrun.server.rootdir}/SERVER-INF/cluster</attribute><attribute name="deactivated">false</attribute></service></service>

