Class JMSTopicTransportManager
java.lang.Object
org.eclipse.persistence.sessions.coordination.TransportManager
org.eclipse.persistence.sessions.coordination.broadcast.BroadcastTransportManager
org.eclipse.persistence.sessions.coordination.jms.JMSPublishingTransportManager
org.eclipse.persistence.sessions.coordination.jms.JMSTopicTransportManager
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.
- Author:
- Steven Vo
-
Field Summary
Fields inherited from class org.eclipse.persistence.sessions.coordination.jms.JMSPublishingTransportManager
connectionFactoryName, DEFAULT_CONNECTION_FACTORY, DEFAULT_TOPIC, reuseJMSTopicPublisherFields inherited from class org.eclipse.persistence.sessions.coordination.broadcast.BroadcastTransportManager
topicNameFields 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 -
Method Summary
Modifier and TypeMethodDescriptionvoidINTERNAL: JMSTopicTransportManager may have only two connections: one local and one external.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.voidINTERNAL: 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
createConnection, createConnections, createExternalConnection, getReuseJMSTopicPublisher, getTopic, getTopicConnectionFactory, getTopicConnectionFactoryName, getTopicHostUrl, initialize, setNamingServiceType, setShouldReuseJMSTopicPublisher, setTopicConnectionFactoryName, setTopicHostUrlMethods inherited from class org.eclipse.persistence.sessions.coordination.broadcast.BroadcastTransportManager
addConnectionToExternalService, connectBackToRemote, createConnection, createDiscoveryManager, getTopicName, setTopicNameMethods inherited from class org.eclipse.persistence.sessions.coordination.TransportManager
decrypt, discardConnections, encrypt, getConnectionsToExternalServices, getConnectionToLocalHost, getContext, getEncryptedPassword, getInitialContextFactoryName, getLocalContextProperties, getNamingServiceType, getPassword, getRemoteCommandManager, getRemoteContextProperties, getRemoteHostContext, getUserName, hasPassword, newSunCORBATransportManager, removeAllConnectionsToExternalServices, removeConnectionToExternalService, setConfig, setEncryptedPassword, setEncryptionClassName, setInitialContextFactoryName, setLocalContextProperties, setPassword, setRemoteCommandManager, setRemoteContextProperties, setShouldRemoveConnectionOnError, setUserName, shouldRemoveConnectionOnError
-
Constructor Details
-
JMSTopicTransportManager
-
-
Method Details
-
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:
createLocalConnectionin classJMSPublishingTransportManager
-
getConnectionsToExternalServicesForCommandPropagation
public Map<String,org.eclipse.persistence.internal.sessions.coordination.RemoteConnection> 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:
getConnectionsToExternalServicesForCommandPropagationin classJMSPublishingTransportManager
-
removeLocalConnection
public void removeLocalConnection()INTERNAL: caches local connection, set localConnection to null, closes the cached connection in a new thread.- Overrides:
removeLocalConnectionin classJMSPublishingTransportManager
-