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, reuseJMSTopicPublisher
Fields inherited from class org.eclipse.persistence.sessions.coordination.broadcast.BroadcastTransportManager
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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
INTERNAL: 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.void
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
createConnection, createConnections, createExternalConnection, getReuseJMSTopicPublisher, getTopic, getTopicConnectionFactory, 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
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:
createLocalConnection
in 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:
getConnectionsToExternalServicesForCommandPropagation
in classJMSPublishingTransportManager
-
removeLocalConnection
public void removeLocalConnection()INTERNAL: caches local connection, set localConnection to null, closes the cached connection in a new thread.- Overrides:
removeLocalConnection
in classJMSPublishingTransportManager
-