Package org.apache.axis.transport.jms
Class JMSConnector
- java.lang.Object
-
- org.apache.axis.transport.jms.JMSConnector
-
- Direct Known Subclasses:
QueueConnector
,TopicConnector
public abstract class JMSConnector extends java.lang.Object
JMSConnector is an abstract class that encapsulates the work of connecting to JMS destinations. Its subclasses are TopicConnector and QueueConnector which further specialize connections to the pub-sub and the ptp domains. It also implements the capability to retry connections in the event of failures.- Author:
- Jaime Meritt (jmeritt@sonicsoftware.com), Richard Chung (rchung@sonicsoftware.com), Dave Chappell (chappell@sonicsoftware.com), Ray Chun (rchun@sonicsoftware.com)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
JMSConnector.AsyncConnection
protected class
JMSConnector.SyncConnection
-
Field Summary
Fields Modifier and Type Field Description protected JMSVendorAdapter
m_adapter
protected boolean
m_allowReceive
protected long
m_connectRetryInterval
protected long
m_interactRetryInterval
protected JMSURLHelper
m_jmsurl
protected int
m_numRetries
protected int
m_numSessions
protected long
m_poolTimeout
protected JMSConnector.AsyncConnection
m_receiveConnection
protected JMSConnector.SyncConnection
m_sendConnection
protected long
m_timeoutTime
-
Constructor Summary
Constructors Constructor Description JMSConnector(ConnectionFactory connectionFactory, int numRetries, int numSessions, long connectRetryInterval, long interactRetryInterval, long timeoutTime, boolean allowReceive, java.lang.String clientID, java.lang.String username, java.lang.String password, JMSVendorAdapter adapter, JMSURLHelper jmsurl)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract JMSConnector.AsyncConnection
createAsyncConnection(ConnectionFactory factory, javax.jms.Connection connection, java.lang.String threadName, java.lang.String clientID, java.lang.String username, java.lang.String password)
protected javax.jms.Connection
createConnectionWithRetry(ConnectionFactory connectionFactory, java.lang.String username, java.lang.String password)
abstract JMSEndpoint
createEndpoint(Destination destination)
abstract JMSEndpoint
createEndpoint(java.lang.String destinationName)
protected abstract JMSConnector.SyncConnection
createSyncConnection(ConnectionFactory factory, javax.jms.Connection connection, int numSessions, java.lang.String threadName, java.lang.String clientID, java.lang.String username, java.lang.String password)
java.lang.String
getClientID()
ConnectionFactory
getConnectionFactory()
JMSURLHelper
getJMSURL()
int
getNumRetries()
java.lang.String
getPassword()
java.lang.String
getUsername()
JMSVendorAdapter
getVendorAdapter()
protected abstract javax.jms.Connection
internalConnect(ConnectionFactory connectionFactory, java.lang.String username, java.lang.String password)
int
numSessions()
void
shutdown()
void
start()
void
stop()
-
-
-
Field Detail
-
m_numRetries
protected int m_numRetries
-
m_connectRetryInterval
protected long m_connectRetryInterval
-
m_interactRetryInterval
protected long m_interactRetryInterval
-
m_timeoutTime
protected long m_timeoutTime
-
m_poolTimeout
protected long m_poolTimeout
-
m_receiveConnection
protected JMSConnector.AsyncConnection m_receiveConnection
-
m_sendConnection
protected JMSConnector.SyncConnection m_sendConnection
-
m_numSessions
protected int m_numSessions
-
m_allowReceive
protected boolean m_allowReceive
-
m_adapter
protected JMSVendorAdapter m_adapter
-
m_jmsurl
protected JMSURLHelper m_jmsurl
-
-
Constructor Detail
-
JMSConnector
public JMSConnector(ConnectionFactory connectionFactory, int numRetries, int numSessions, long connectRetryInterval, long interactRetryInterval, long timeoutTime, boolean allowReceive, java.lang.String clientID, java.lang.String username, java.lang.String password, JMSVendorAdapter adapter, JMSURLHelper jmsurl) throws JMSException
- Throws:
JMSException
-
-
Method Detail
-
getNumRetries
public int getNumRetries()
-
numSessions
public int numSessions()
-
getConnectionFactory
public ConnectionFactory getConnectionFactory()
-
getClientID
public java.lang.String getClientID()
-
getUsername
public java.lang.String getUsername()
-
getPassword
public java.lang.String getPassword()
-
getVendorAdapter
public JMSVendorAdapter getVendorAdapter()
-
getJMSURL
public JMSURLHelper getJMSURL()
-
createConnectionWithRetry
protected javax.jms.Connection createConnectionWithRetry(ConnectionFactory connectionFactory, java.lang.String username, java.lang.String password) throws JMSException
- Throws:
JMSException
-
stop
public void stop()
-
start
public void start()
-
shutdown
public void shutdown()
-
createEndpoint
public abstract JMSEndpoint createEndpoint(java.lang.String destinationName) throws JMSException
- Throws:
JMSException
-
createEndpoint
public abstract JMSEndpoint createEndpoint(Destination destination) throws JMSException
- Throws:
JMSException
-
internalConnect
protected abstract javax.jms.Connection internalConnect(ConnectionFactory connectionFactory, java.lang.String username, java.lang.String password) throws JMSException
- Throws:
JMSException
-
createSyncConnection
protected abstract JMSConnector.SyncConnection createSyncConnection(ConnectionFactory factory, javax.jms.Connection connection, int numSessions, java.lang.String threadName, java.lang.String clientID, java.lang.String username, java.lang.String password) throws JMSException
- Throws:
JMSException
-
createAsyncConnection
protected abstract JMSConnector.AsyncConnection createAsyncConnection(ConnectionFactory factory, javax.jms.Connection connection, java.lang.String threadName, java.lang.String clientID, java.lang.String username, java.lang.String password) throws JMSException
- Throws:
JMSException
-
-