Class JGroupsTransportManager


  • public class JGroupsTransportManager
    extends BroadcastTransportManager

    Purpose: Provide a transport implementation for the Remote Command Module (RCM) that publishes to a JGroup channel.

    JGroups is a library for distributed communications.

    If issues are encountered with the default setting try,
    -Djava.net.preferIPv4Stack=true

    Since:
    EclipseLink 2.6
    Author:
    James Sutherland
    • Constructor Detail

      • JGroupsTransportManager

        public JGroupsTransportManager()
        PUBLIC: Creates a JGroupsTransportManager.
      • JGroupsTransportManager

        public JGroupsTransportManager​(RemoteCommandManager rcm)
        PUBLIC: Creates a JGroupsTransportManager.
    • Method Detail

      • createConnections

        public void createConnections()
        INTERNAL: JGroups does not require a DiscoveryManager, therefore this method is called during RCM initialization to create all the necessary connections.
        Overrides:
        createConnections in class BroadcastTransportManager
      • createExternalConnection

        public void createExternalConnection()
        INTERNAL: JGroups only has a single connection. Verify there are no external connections, use the local connection as the external connection.
      • createLocalConnection

        public void createLocalConnection()
        INTERNAL: JGroups only requires a single connection. In case the local connection doesn't exist, this method creates it.
        Specified by:
        createLocalConnection in class TransportManager
      • getConnectionsToExternalServicesForCommandPropagation

        public java.util.Map<java.lang.String,​org.eclipse.persistence.internal.sessions.coordination.RemoteConnection> getConnectionsToExternalServicesForCommandPropagation()
        INTERNAL: In case there's no external connection attempts to create one. Returns external connections (only a single connection for JGroups).
        Overrides:
        getConnectionsToExternalServicesForCommandPropagation in class TransportManager
      • removeLocalConnection

        public void removeLocalConnection()
        INTERNAL: No-op, as the local connection does not need to be removed as JGroups manages registration.
        Specified by:
        removeLocalConnection in class TransportManager
      • getConfigFile

        public java.lang.String getConfigFile()
        PUBLIC: Return the JGroups config xml file name.
      • setConfigFile

        @Deprecated
        public void setConfigFile​(java.lang.String configFile)
        Deprecated.
        PUBLIC: Set the JGroups config xml file name.