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
topicNameFields 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 BroadcastRemoteConnectioncreateConnection(boolean isLocalConnectionBeingCreated) INTERNAL: This method creates JGroupsRemoteConnection to be used by this TransportManager.voidINTERNAL: JGroups does not require a DiscoveryManager, therefore this method is called during RCM initialization to create all the necessary connections.voidINTERNAL: JGroups only has a single connection.voidINTERNAL: 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.voidINTERNAL: No-op, as the local connection does not need to be removed as JGroups manages registration.voidGeneric API to allow config to be set.voidsetConfigFile(String configFile) Deprecated.Methods inherited from class org.eclipse.persistence.sessions.coordination.broadcast.BroadcastTransportManager
addConnectionToExternalService, connectBackToRemote, createConnection, createDiscoveryManager, getTopicName, setTopicNameMethods 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:
createConnectionsin 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:
createLocalConnectionin classTransportManager
-
getConnectionsToExternalServicesForCommandPropagation
INTERNAL: In case there's no external connection attempts to create one. Returns external connections (only a single connection for JGroups).- Overrides:
getConnectionsToExternalServicesForCommandPropagationin classTransportManager
-
removeLocalConnection
public void removeLocalConnection()INTERNAL: No-op, as the local connection does not need to be removed as JGroups manages registration.- Specified by:
removeLocalConnectionin 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:TransportManagerGeneric API to allow config to be set.- Overrides:
setConfigin classTransportManager
-