Class 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)
    • 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_numSessions

        protected int m_numSessions
      • m_allowReceive

        protected boolean m_allowReceive
    • 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()
      • 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