Class BroadcastTransportManager
- java.lang.Object
-
- org.eclipse.persistence.sessions.coordination.TransportManager
-
- org.eclipse.persistence.sessions.coordination.broadcast.BroadcastTransportManager
-
- Direct Known Subclasses:
JMSPublishingTransportManager
public abstract class BroadcastTransportManager extends TransportManager
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
- Since:
- OracleAS TopLink 11g (11.1.1)
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
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
Constructors Constructor Description BroadcastTransportManager()
BroadcastTransportManager(RemoteCommandManager rcm)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
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
createConnections()
INTERNAL: BroadcastTransportManager doesn't use DiscoveryManager (createDiscoveryManager method returns null) therefore this method called during RCM initialization to create all the necessary connections.DiscoveryManager
createDiscoveryManager()
ADVANCED: BroadcastTransportManager doesn't use DiscoveryManager - instead RemoteCommandManager calls createConnections method during initialization.java.lang.String
getTopicName()
PUBLIC: Return the topic name that this TransportManager will be connecting to.void
setTopicName(java.lang.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, removeAllConnectionsToExternalServices, removeConnectionToExternalService, removeLocalConnection, setConfig, setEncryptedPassword, setEncryptionClassName, setInitialContextFactoryName, setLocalContextProperties, setNamingServiceType, setPassword, setRemoteCommandManager, setRemoteContextProperties, setShouldRemoveConnectionOnError, setUserName, shouldRemoveConnectionOnError
-
-
-
-
Constructor Detail
-
BroadcastTransportManager
public BroadcastTransportManager()
-
BroadcastTransportManager
public BroadcastTransportManager(RemoteCommandManager rcm)
-
-
Method Detail
-
createDiscoveryManager
public DiscoveryManager 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 java.lang.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:
java.lang.Exception
-
getTopicName
public java.lang.String getTopicName()
PUBLIC: Return the topic name that this TransportManager will be connecting to.
-
setTopicName
public void setTopicName(java.lang.String newTopicName)
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.
-
-