org.eclipse.persistence.sessions.coordination.broadcast
Class BroadcastTransportManager

java.lang.Object
  extended by org.eclipse.persistence.sessions.coordination.TransportManager
      extended by 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.

Since:
OracleAS TopLink 11g (11.1.1)
Author:
Andrei Ilitchev

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
BroadcastTransportManager(RemoteCommandManager rcm)
           
 
Method Summary
 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.
 String getTopicName()
          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, discardConnections, getConnectionsToExternalServices, getConnectionsToExternalServicesForCommandPropagation, getConnectionToLocalHost, getContext, getInitialContextFactoryName, getLocalContextProperties, getNamingServiceType, getPassword, getRemoteCommandManager, getRemoteContextProperties, getRemoteHostContext, getUserName, initialize, removeAllConnectionsToExternalServices, removeConnectionToExternalService, removeLocalConnection, setEncryptedPassword, setEncryptionClassName, setInitialContextFactoryName, setLocalContextProperties, setNamingServiceType, setPassword, setRemoteContextProperties, setShouldRemoveConnectionOnError, setUserName, shouldRemoveConnectionOnError
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

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 class TransportManager

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 class TransportManager

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 class TransportManager

addConnectionToExternalService

public void addConnectionToExternalService(org.eclipse.persistence.internal.sessions.coordination.RemoteConnection connection)
INTERNAL: Add a remote Connection to a remote service.

Overrides:
addConnectionToExternalService in class TransportManager

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 class TransportManager
Throws:
Exception

getTopicName

public String getTopicName()
PUBLIC: Return the topic name that this TransportManager will be connecting to.


setTopicName

public void setTopicName(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.