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
-
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
-
-
Field Summary
-
Fields inherited from class org.eclipse.persistence.sessions.coordination.TransportManager
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, REGISTRY_NAMING_SERVICE
-
-
Constructor Summary
Constructors Constructor Description JGroupsTransportManager()
PUBLIC: Creates a JGroupsTransportManager.JGroupsTransportManager(RemoteCommandManager rcm)
PUBLIC: Creates a JGroupsTransportManager.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
createConnections()
INTERNAL: JGroups does not require a DiscoveryManager, therefore this method is called during RCM initialization to create all the necessary connections.void
createExternalConnection()
INTERNAL: JGroups only has a single connection.void
createLocalConnection()
INTERNAL: JGroups only requires a single connection.java.lang.String
getConfigFile()
PUBLIC: Return the JGroups config xml file name.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.void
removeLocalConnection()
INTERNAL: No-op, as the local connection does not need to be removed as JGroups manages registration.void
setConfig(java.lang.String config)
Generic API to allow config to be set.void
setConfigFile(java.lang.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
discardConnections, getConnectionsToExternalServices, getConnectionToLocalHost, getContext, getEncryptedPassword, getInitialContextFactoryName, getLocalContextProperties, getNamingServiceType, getPassword, getRemoteCommandManager, getRemoteContextProperties, getRemoteHostContext, getUserName, initialize, removeAllConnectionsToExternalServices, removeConnectionToExternalService, setEncryptedPassword, setEncryptionClassName, setInitialContextFactoryName, setLocalContextProperties, setNamingServiceType, setPassword, setRemoteCommandManager, setRemoteContextProperties, setShouldRemoveConnectionOnError, setUserName, shouldRemoveConnectionOnError
-
-
-
-
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 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
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 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 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.
-
setConfig
public void setConfig(java.lang.String config)
Description copied from class:TransportManager
Generic API to allow config to be set.- Overrides:
setConfig
in classTransportManager
-
-