public class JMSPublishingTransportManager extends BroadcastTransportManager
Purpose: Provide a transport implementation for the Remote Command Module (RCM) that publishes to a JMS topic.
Description: This class manages two connections: an external connection for publishing to JMS, and a local connection which can be used to process JMS messages received from an application JMS listener.
Modifier and Type | Field and Description |
---|---|
protected java.lang.String |
connectionFactoryName |
static java.lang.String |
DEFAULT_CONNECTION_FACTORY |
static java.lang.String |
DEFAULT_TOPIC |
protected boolean |
reuseJMSTopicPublisher |
topicName
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 and Description |
---|
JMSPublishingTransportManager(RemoteCommandManager rcm)
PUBLIC:
Creates a JMSPublishingOnlyTopicTransportManager
|
Modifier and Type | Method and Description |
---|---|
protected org.eclipse.persistence.internal.sessions.coordination.jms.JMSTopicRemoteConnection |
createConnection(boolean isLocalConnectionBeingCreated)
INTERNAL:
This method creates JMSTopicRemoteConnection to be used by this TransportManager.
|
void |
createConnections()
INTERNAL:
JMSTopicTransportManager doesn't use DiscoveryManager, therefore
this method is called during RCM initialization to create all the necessary connections.
|
void |
createExternalConnection()
INTERNAL:
JMSPublishingTransportManager has maximum one external connection.
|
void |
createLocalConnection()
INTERNAL:
JMSPublishingTransportManager has only two connections: one local and one external.
|
java.util.Map<java.lang.String,org.eclipse.persistence.internal.sessions.coordination.RemoteConnection> |
getConnectionsToExternalServicesForCommandPropagation()
INTERNAL:
In case there's no external connection attempts to create one.
|
boolean |
getReuseJMSTopicPublisher()
PUBLIC:
flag used to toggle between j2EE/JMS spec compliant behavior and legacy behavior.
|
protected javax.jms.Topic |
getTopic(javax.naming.Context remoteHostContext)
INTERNAL:
|
protected javax.jms.TopicConnectionFactory |
getTopicConnectionFactory(javax.naming.Context remoteHostContext)
INTERNAL:
|
java.lang.String |
getTopicConnectionFactoryName()
PUBLIC:
Return the JMS Topic Connection Factory Name for the JMS Topic connections.
|
java.lang.String |
getTopicHostUrl()
PUBLIC:
Return the URL of the machine on the network that hosts the JMS Topic.
|
void |
initialize()
INTERNAL:
Initialize default properties.
|
void |
removeLocalConnection()
INTERNAL:
No-op, as the local connection does not need to be removed from JMSPublishingTransportManager.
|
void |
setNamingServiceType(int serviceType)
ADVANCED:
This function is not supported for naming service other than JNDI or TransportManager.JNDI_NAMING_SERVICE.
|
void |
setShouldReuseJMSTopicPublisher(boolean reuseJMSTopicPublisher)
PUBLIC:
flag used to toggle between j2EE/JMS spec compliant behavior and legacy behavior.
|
void |
setTopicConnectionFactoryName(java.lang.String newTopicConnectionFactoryName)
PUBLIC:
Configure the JMS Topic Connection Factory Name for the JMS Topic connections.
|
void |
setTopicHostUrl(java.lang.String jmsHostUrl)
PUBLIC:
Configure the URL of the machine on the network that hosts the JMS Topic.
|
addConnectionToExternalService, connectBackToRemote, createConnection, createDiscoveryManager, getTopicName, setTopicName
decrypt, discardConnections, encrypt, getConnectionsToExternalServices, getConnectionToLocalHost, getContext, getEncryptedPassword, getInitialContextFactoryName, getLocalContextProperties, getNamingServiceType, getPassword, getRemoteCommandManager, getRemoteContextProperties, getRemoteHostContext, getUserName, hasPassword, removeAllConnectionsToExternalServices, removeConnectionToExternalService, setConfig, setEncryptedPassword, setEncryptionClassName, setInitialContextFactoryName, setLocalContextProperties, setPassword, setRemoteCommandManager, setRemoteContextProperties, setShouldRemoveConnectionOnError, setUserName, shouldRemoveConnectionOnError
protected java.lang.String connectionFactoryName
protected boolean reuseJMSTopicPublisher
public static final java.lang.String DEFAULT_TOPIC
public static final java.lang.String DEFAULT_CONNECTION_FACTORY
public JMSPublishingTransportManager(RemoteCommandManager rcm)
protected org.eclipse.persistence.internal.sessions.coordination.jms.JMSTopicRemoteConnection createConnection(boolean isLocalConnectionBeingCreated) throws RemoteCommandManagerException
RemoteCommandManagerException
public void createConnections()
createConnections
in class BroadcastTransportManager
public void createExternalConnection()
public void createLocalConnection()
createLocalConnection
in class TransportManager
public java.util.Map<java.lang.String,org.eclipse.persistence.internal.sessions.coordination.RemoteConnection> getConnectionsToExternalServicesForCommandPropagation()
getConnectionsToExternalServicesForCommandPropagation
in class TransportManager
public boolean getReuseJMSTopicPublisher()
protected javax.jms.Topic getTopic(javax.naming.Context remoteHostContext)
protected javax.jms.TopicConnectionFactory getTopicConnectionFactory(javax.naming.Context remoteHostContext)
public java.lang.String getTopicConnectionFactoryName()
public java.lang.String getTopicHostUrl()
public void initialize()
initialize
in class TransportManager
public void removeLocalConnection()
removeLocalConnection
in class TransportManager
public void setNamingServiceType(int serviceType)
setNamingServiceType
in class TransportManager
public void setShouldReuseJMSTopicPublisher(boolean reuseJMSTopicPublisher)
reuseJMSTopicPublisher
- public void setTopicConnectionFactoryName(java.lang.String newTopicConnectionFactoryName)
public void setTopicHostUrl(java.lang.String jmsHostUrl)