org.eclipse.persistence.sessions.coordination.jms
Class JMSTopicTransportManager

java.lang.Object
  extended by org.eclipse.persistence.sessions.coordination.TransportManager
      extended by org.eclipse.persistence.sessions.coordination.broadcast.BroadcastTransportManager
          extended by org.eclipse.persistence.sessions.coordination.jms.JMSPublishingTransportManager
              extended by org.eclipse.persistence.sessions.coordination.jms.JMSTopicTransportManager

public class JMSTopicTransportManager
extends JMSPublishingTransportManager

Purpose: Provide a transport implementation for the Remote Command Module (RCM) that both publishes and subscribes to a JMS topic.

Description: This class manages two connections to the same known JMS Topic: external connection for publishing, local connection for receiving messages.

Since:
OracleAS TopLink 10g (10.0.3)
Author:
Steven Vo

Field Summary
 
Fields inherited from class org.eclipse.persistence.sessions.coordination.jms.JMSPublishingTransportManager
DEFAULT_CONNECTION_FACTORY, DEFAULT_TOPIC
 
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
JMSTopicTransportManager(RemoteCommandManager rcm)
           
 
Method Summary
 void createLocalConnection()
          INTERNAL: JMSTopicTransportManager may have only two connections: one local and one external.
 Hashtable getConnectionsToExternalServicesForCommandPropagation()
          INTERNAL: In case there's no external connection attempts to create one, if that's successful then (in case there is no local connection, too) attempts to create local connection in a separate thread.
 void removeLocalConnection()
          INTERNAL: caches local connection, set localConnection to null, closes the cached connection in a new thread.
 
Methods inherited from class org.eclipse.persistence.sessions.coordination.jms.JMSPublishingTransportManager
createConnections, createExternalConnection, getReuseJMSTopicPublisher, getTopicConnectionFactoryName, getTopicHostUrl, initialize, setNamingServiceType, setShouldReuseJMSTopicPublisher, setTopicConnectionFactoryName, setTopicHostUrl
 
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, getInitialContextFactoryName, getLocalContextProperties, getNamingServiceType, getPassword, getRemoteCommandManager, getRemoteContextProperties, getRemoteHostContext, getUserName, removeAllConnectionsToExternalServices, removeConnectionToExternalService, setEncryptedPassword, setEncryptionClassName, setInitialContextFactoryName, setLocalContextProperties, setPassword, setRemoteContextProperties, setShouldRemoveConnectionOnError, setUserName, shouldRemoveConnectionOnError
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JMSTopicTransportManager

public JMSTopicTransportManager(RemoteCommandManager rcm)
Method Detail

createLocalConnection

public void createLocalConnection()
INTERNAL: JMSTopicTransportManager may have only two connections: one local and one external. In case the local connection doesn't exist, this method creates it.

Overrides:
createLocalConnection in class JMSPublishingTransportManager

getConnectionsToExternalServicesForCommandPropagation

public Hashtable getConnectionsToExternalServicesForCommandPropagation()
INTERNAL: In case there's no external connection attempts to create one, if that's successful then (in case there is no local connection, too) attempts to create local connection in a separate thread. Returns clone of the original map.

Overrides:
getConnectionsToExternalServicesForCommandPropagation in class JMSPublishingTransportManager

removeLocalConnection

public void removeLocalConnection()
INTERNAL: caches local connection, set localConnection to null, closes the cached connection in a new thread.

Overrides:
removeLocalConnection in class JMSPublishingTransportManager