org.apache.axis2.transport.jms
Class JMSConnector

java.lang.Object
  extended byorg.apache.axis2.transport.jms.JMSConnector
Direct Known Subclasses:
QueueConnector, TopicConnector

public abstract class JMSConnector
extends 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.


Nested Class Summary
protected  class JMSConnector.AsyncConnection
           
protected  class JMSConnector.SyncConnection
           
 
Field Summary
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
JMSConnector(javax.jms.ConnectionFactory connectionFactory, int numRetries, int numSessions, long connectRetryInterval, long interactRetryInterval, long timeoutTime, boolean allowReceive, String clientID, String username, String password, JMSVendorAdapter adapter, JMSURLHelper jmsurl)
           
 
Method Summary
protected abstract  JMSConnector.AsyncConnection createAsyncConnection(javax.jms.ConnectionFactory factory, javax.jms.Connection connection, String threadName, String clientID, String username, String password)
           
protected  javax.jms.Connection createConnectionWithRetry(javax.jms.ConnectionFactory connectionFactory, String username, String password)
           
abstract  JMSEndpoint createEndpoint(javax.jms.Destination destination)
           
abstract  JMSEndpoint createEndpoint(String destinationName)
           
protected abstract  JMSConnector.SyncConnection createSyncConnection(javax.jms.ConnectionFactory factory, javax.jms.Connection connection, int numSessions, String threadName, String clientID, String username, String password)
           
 String getClientID()
           
 javax.jms.ConnectionFactory getConnectionFactory()
           
 JMSURLHelper getJMSURL()
           
 int getNumRetries()
           
 String getPassword()
           
 String getUsername()
           
 JMSVendorAdapter getVendorAdapter()
           
protected abstract  javax.jms.Connection internalConnect(javax.jms.ConnectionFactory connectionFactory, String username, String password)
           
 int numSessions()
           
 void shutdown()
           
 void start()
           
 void stop()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_adapter

protected JMSVendorAdapter m_adapter

m_allowReceive

protected boolean m_allowReceive

m_connectRetryInterval

protected long m_connectRetryInterval

m_interactRetryInterval

protected long m_interactRetryInterval

m_jmsurl

protected JMSURLHelper m_jmsurl

m_numRetries

protected int m_numRetries

m_numSessions

protected int m_numSessions

m_poolTimeout

protected long m_poolTimeout

m_receiveConnection

protected JMSConnector.AsyncConnection m_receiveConnection

m_sendConnection

protected JMSConnector.SyncConnection m_sendConnection

m_timeoutTime

protected long m_timeoutTime
Constructor Detail

JMSConnector

public JMSConnector(javax.jms.ConnectionFactory connectionFactory,
                    int numRetries,
                    int numSessions,
                    long connectRetryInterval,
                    long interactRetryInterval,
                    long timeoutTime,
                    boolean allowReceive,
                    String clientID,
                    String username,
                    String password,
                    JMSVendorAdapter adapter,
                    JMSURLHelper jmsurl)
             throws javax.jms.JMSException
Method Detail

createAsyncConnection

protected abstract JMSConnector.AsyncConnection createAsyncConnection(javax.jms.ConnectionFactory factory,
                                                                      javax.jms.Connection connection,
                                                                      String threadName,
                                                                      String clientID,
                                                                      String username,
                                                                      String password)
                                                               throws javax.jms.JMSException
Throws:
javax.jms.JMSException

createConnectionWithRetry

protected javax.jms.Connection createConnectionWithRetry(javax.jms.ConnectionFactory connectionFactory,
                                                         String username,
                                                         String password)
                                                  throws javax.jms.JMSException
Throws:
javax.jms.JMSException

createEndpoint

public abstract JMSEndpoint createEndpoint(javax.jms.Destination destination)
                                    throws javax.jms.JMSException
Throws:
javax.jms.JMSException

createEndpoint

public abstract JMSEndpoint createEndpoint(String destinationName)
                                    throws javax.jms.JMSException
Throws:
javax.jms.JMSException

createSyncConnection

protected abstract JMSConnector.SyncConnection createSyncConnection(javax.jms.ConnectionFactory factory,
                                                                    javax.jms.Connection connection,
                                                                    int numSessions,
                                                                    String threadName,
                                                                    String clientID,
                                                                    String username,
                                                                    String password)
                                                             throws javax.jms.JMSException
Throws:
javax.jms.JMSException

internalConnect

protected abstract javax.jms.Connection internalConnect(javax.jms.ConnectionFactory connectionFactory,
                                                        String username,
                                                        String password)
                                                 throws javax.jms.JMSException
Throws:
javax.jms.JMSException

numSessions

public int numSessions()

shutdown

public void shutdown()

start

public void start()

stop

public void stop()

getClientID

public String getClientID()

getConnectionFactory

public javax.jms.ConnectionFactory getConnectionFactory()

getJMSURL

public JMSURLHelper getJMSURL()

getNumRetries

public int getNumRetries()

getPassword

public String getPassword()

getUsername

public String getUsername()

getVendorAdapter

public JMSVendorAdapter getVendorAdapter()