Class JMSConnectionSunMQ

  • All Implemented Interfaces:
    CleanupIF, javax.jms.ExceptionListener

    public class JMSConnectionSunMQ
    extends JMSConnection
    Handles the communication with a Sun JMS broker.

    Methods are implemented to get a connection, as well as queues and topics. The error handling will try to reconnect on given error scenarios.

    The warnings and errorcodes reported by Sun Message Queue 4.1 can be found in Appendix A Sun Java System Message Queue 4.1 Developer's Guide for Java Clients: http://docs.sun.com/app/docs/doc/819-7757/aeqgo?a=view

    • Field Detail

      • JMS_BROKER_HOST

        public static java.lang.String JMS_BROKER_HOST
        settings.common.jms.broker:
        The JMS broker host contacted by the JMS connection.
      • JMS_BROKER_PORT

        public static java.lang.String JMS_BROKER_PORT
        settings.common.jms.port:
        The port the JMS connection should use.
    • Method Detail

      • getConnectionFactory

        protected com.sun.messaging.ConnectionFactory getConnectionFactory()
                                                                    throws javax.jms.JMSException
        Returns a new QueueConnectionFactory. This is an SunMQ implementation of QueueConnectionFactory.

        Notice: The return type is explicitly defined with package prefix to avoid name collision with javax.jms.QueueConnectionFactory

        Specified by:
        getConnectionFactory in class JMSConnection
        Returns:
        QueueConnectionFactory
        Throws:
        javax.jms.JMSException - If unable to create a QueueConnectionfactory with the necessary properties: imqConsumerflowLimit set to 1, imqBrokerHostname and imqBrokerHostPort set to the values defined in our settings.
      • getDestination

        protected javax.jms.Destination getDestination​(java.lang.String channelName)
                                                throws javax.jms.JMSException
        Returns an Queue or a Topic. This is an SunMQ implementation of Queue and Topic. The method depends on the JMS provider being configured to autocreate queues and topics.
        Specified by:
        getDestination in class JMSConnection
        Parameters:
        channelName - the name of the queue or topic.
        Returns:
        A queue or topic depending on the channel name.
        Throws:
        javax.jms.JMSException - If unable to create the destination.
      • onException

        public void onException​(javax.jms.JMSException e)
        Exceptionhandler for the JMSConnection. Will try to reconnect on errors with error codes defined in the constant RECONNECT_ERRORCODES.
        Specified by:
        onException in interface javax.jms.ExceptionListener
        Specified by:
        onException in class JMSConnection
        Parameters:
        e - an JMSException
      • getQueueSession

        public javax.jms.QueueSession getQueueSession()
                                               throws javax.jms.JMSException
        Description copied from class: JMSConnection
        Provides a QueueSession instance. Functionality for retrieving a QueueSession object isen't available on the generic JMSConnectionFactory
        Specified by:
        getQueueSession in class JMSConnection
        Returns:
        A QueueSession object connected to the current JMS broker
        Throws:
        javax.jms.JMSException - Failure to retrieve the QueueBrowser JMS Browser