Class BroadcastTransportManager
java.lang.Object
org.eclipse.persistence.sessions.coordination.TransportManager
org.eclipse.persistence.sessions.coordination.broadcast.BroadcastTransportManager
- Direct Known Subclasses:
JMSPublishingTransportManager
Purpose: Base class transport manager for broadcasting RCM protocols: JMS and Oc4jJGroups.
Description: The class doesn't use DiscoveryManager - instead the class (and it's ancestors) implement createConnections method that creates all the necessary connections. This method is called by RemoteCommendManager during initialization.
- Author:
- Andrei Ilitchev
-
Field Summary
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
ConstructorDescription -
Method Summary
Modifier and TypeMethodDescriptionvoid
addConnectionToExternalService
(org.eclipse.persistence.internal.sessions.coordination.RemoteConnection connection) INTERNAL: Add a remote Connection to a remote service.void
connectBackToRemote
(org.eclipse.persistence.internal.sessions.coordination.RemoteConnection connection) INTERNAL: Prepare receiving messages by registering this connection as a listener to the Subscriber.org.eclipse.persistence.internal.sessions.coordination.RemoteConnection
createConnection
(ServiceId serviceId) INTERNAL: No-op implementation of super abstract method since there is only one connection to a known topic.void
INTERNAL: BroadcastTransportManager doesn't use DiscoveryManager (createDiscoveryManager method returns null) therefore this method called during RCM initialization to create all the necessary connections.ADVANCED: BroadcastTransportManager doesn't use DiscoveryManager - instead RemoteCommandManager calls createConnections method during initialization.PUBLIC: Return the topic name that this TransportManager will be connecting to.void
setTopicName
(String newTopicName) PUBLIC: Configure the Topic name for the Topic that this TransportManager will be connecting to.Methods inherited from class org.eclipse.persistence.sessions.coordination.TransportManager
createLocalConnection, decrypt, discardConnections, encrypt, getConnectionsToExternalServices, getConnectionsToExternalServicesForCommandPropagation, getConnectionToLocalHost, getContext, getEncryptedPassword, getInitialContextFactoryName, getLocalContextProperties, getNamingServiceType, getPassword, getRemoteCommandManager, getRemoteContextProperties, getRemoteHostContext, getUserName, hasPassword, initialize, newSunCORBATransportManager, removeAllConnectionsToExternalServices, removeConnectionToExternalService, removeLocalConnection, setConfig, setEncryptedPassword, setEncryptionClassName, setInitialContextFactoryName, setLocalContextProperties, setNamingServiceType, setPassword, setRemoteCommandManager, setRemoteContextProperties, setShouldRemoveConnectionOnError, setUserName, shouldRemoveConnectionOnError
-
Field Details
-
topicName
-
-
Constructor Details
-
BroadcastTransportManager
public BroadcastTransportManager() -
BroadcastTransportManager
-
-
Method Details
-
createDiscoveryManager
ADVANCED: BroadcastTransportManager doesn't use DiscoveryManager - instead RemoteCommandManager calls createConnections method during initialization.- Overrides:
createDiscoveryManager
in classTransportManager
-
createConnections
public void createConnections()INTERNAL: BroadcastTransportManager doesn't use DiscoveryManager (createDiscoveryManager method returns null) therefore this method called during RCM initialization to create all the necessary connections. BroadcastTransportManager ancestors may need to override this method.- Overrides:
createConnections
in classTransportManager
-
createConnection
public org.eclipse.persistence.internal.sessions.coordination.RemoteConnection createConnection(ServiceId serviceId) INTERNAL: No-op implementation of super abstract method since there is only one connection to a known topic.- Specified by:
createConnection
in classTransportManager
-
addConnectionToExternalService
public void addConnectionToExternalService(org.eclipse.persistence.internal.sessions.coordination.RemoteConnection connection) INTERNAL: Add a remote Connection to a remote service.- Overrides:
addConnectionToExternalService
in classTransportManager
-
connectBackToRemote
public void connectBackToRemote(org.eclipse.persistence.internal.sessions.coordination.RemoteConnection connection) throws Exception INTERNAL: Prepare receiving messages by registering this connection as a listener to the Subscriber. This method is called by the remote command manager when this service should connect back ('handshake') to the service from which this remote connection came.- Overrides:
connectBackToRemote
in classTransportManager
- Throws:
Exception
-
getTopicName
PUBLIC: Return the topic name that this TransportManager will be connecting to. -
setTopicName
PUBLIC: Configure the Topic name for the Topic that this TransportManager will be connecting to. For some subclasses (JMS) this is a required setting and must be set; for other (Oc4jJGroups) it's typically not set.
-