Class JGroupsTransportManager
java.lang.Object
org.eclipse.persistence.sessions.coordination.TransportManager
org.eclipse.persistence.sessions.coordination.broadcast.BroadcastTransportManager
org.eclipse.persistence.sessions.coordination.jgroups.JGroupsTransportManager
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
-
Field Summary
Fields inherited from class org.eclipse.persistence.sessions.coordination.broadcast.BroadcastTransportManager
topicName
Fields inherited from class org.eclipse.persistence.sessions.coordination.TransportManager
connectionsToExternalServices, DEFAULT_CONTEXT_FACTORY, DEFAULT_DEDICATED_CONNECTION_KEY, DEFAULT_DEDICATED_CONNECTION_VALUE, DEFAULT_IIOP_URL_PORT, DEFAULT_IIOP_URL_PROTOCOL, DEFAULT_NAMING_SERVICE, DEFAULT_REMOVE_CONNECTION_ON_ERROR_MODE, DEFAULT_URL_PORT, DEFAULT_URL_PROTOCOL, DEFAULT_USER_NAME, JNDI_NAMING_SERVICE, localConnection, localContextProperties, namingServiceType, rcm, REGISTRY_NAMING_SERVICE, remoteContextProperties, securableObjectHolder, shouldRemoveConnectionOnError
-
Constructor Summary
ConstructorsConstructorDescriptionPUBLIC: Creates a JGroupsTransportManager.PUBLIC: Creates a JGroupsTransportManager. -
Method Summary
Modifier and TypeMethodDescriptionprotected BroadcastRemoteConnection
createConnection
(boolean isLocalConnectionBeingCreated) INTERNAL: This method creates JGroupsRemoteConnection to be used by this TransportManager.void
INTERNAL: JGroups does not require a DiscoveryManager, therefore this method is called during RCM initialization to create all the necessary connections.void
INTERNAL: JGroups only has a single connection.void
INTERNAL: JGroups only requires a single connection.PUBLIC: Return the JGroups config xml file name.INTERNAL: In case there's no external connection attempts to create one.void
INTERNAL: No-op, as the local connection does not need to be removed as JGroups manages registration.void
Generic API to allow config to be set.void
setConfigFile
(String configFile) Deprecated.Methods inherited from class org.eclipse.persistence.sessions.coordination.broadcast.BroadcastTransportManager
addConnectionToExternalService, connectBackToRemote, createConnection, createDiscoveryManager, getTopicName, setTopicName
Methods inherited from class org.eclipse.persistence.sessions.coordination.TransportManager
decrypt, discardConnections, encrypt, getConnectionsToExternalServices, getConnectionToLocalHost, getContext, getEncryptedPassword, getInitialContextFactoryName, getLocalContextProperties, getNamingServiceType, getPassword, getRemoteCommandManager, getRemoteContextProperties, getRemoteHostContext, getUserName, hasPassword, initialize, newTransportManager, removeAllConnectionsToExternalServices, removeConnectionToExternalService, setEncryptedPassword, setEncryptionClassName, setInitialContextFactoryName, setLocalContextProperties, setNamingServiceType, setPassword, setRemoteCommandManager, setRemoteContextProperties, setShouldRemoveConnectionOnError, setUserName, shouldRemoveConnectionOnError
-
Constructor Details
-
JGroupsTransportManager
public JGroupsTransportManager()PUBLIC: Creates a JGroupsTransportManager. -
JGroupsTransportManager
PUBLIC: Creates a JGroupsTransportManager.
-
-
Method Details
-
createConnection
protected BroadcastRemoteConnection createConnection(boolean isLocalConnectionBeingCreated) throws RemoteCommandManagerException INTERNAL: This method creates JGroupsRemoteConnection to be used by this TransportManager. It uses a JGroups JChannel using the RCM channel name and specified (or defaulted) config file. Channel is set to not receive own messages.- Throws:
RemoteCommandManagerException
-
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 classBroadcastTransportManager
-
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 classTransportManager
-
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 classTransportManager
-
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 classTransportManager
-
getConfigFile
PUBLIC: Return the JGroups config xml file name. -
setConfigFile
Deprecated.PUBLIC: Set the JGroups config xml file name. -
setConfig
Description copied from class:TransportManager
Generic API to allow config to be set.- Overrides:
setConfig
in classTransportManager
-