com.ibm.mq

Class MQSimpleConnectionManager

  • java.lang.Object
    • com.ibm.mq.jmqi.JmqiObject
      • com.ibm.mq.MQSimpleConnectionManager


  • public final class MQSimpleConnectionManager
    extends com.ibm.mq.jmqi.JmqiObject
    An MQSimpleConnectionManager provides basic connection pooling function. You can use an MQSimpleConnectionManager either as the default connection manager, or as a parameter to an MQQueueManager constructor. When an MQQueueManager is constructed, the most recently used connection in the pool is used. Connections are destroyed by a separate thread when they are unused for a specified period, when there are more than a specified number of unused connections in the pool, or when the maximum number of connections has been reached and room must be made for new connections. You can specify the timeout period, the maximum number of managed connections, and the maximum number of unused connections.
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static int MODE_ACTIVE
      The pool is always active.
      static int MODE_AUTO
      An MQSimpleConnectionManager is active if it is the default connection manager and there is at least one connection in the pool.
      static int MODE_INACTIVE
      The pool is always inactive.
      • Fields inherited from class com.ibm.mq.jmqi.JmqiObject

        COMP_JM, COMP_JN, COMP_JO
    • Constructor Summary

      Constructors 
      Constructor and Description
      MQSimpleConnectionManager()
      Constructs an MQSimpleConnectionManager.
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      java.lang.Object allocateConnection(com.ibm.mq.MQManagedConnectionFactory mcf, com.ibm.mq.MQConnectionRequestInfo cxRequestInfo)
      Makes a connection to a queue manager, either by reusing an existing connection or by creating a new one.
      java.lang.Object createConnection(com.ibm.mq.MQManagedConnectionFactory mcf, com.ibm.mq.MQConnectionRequestInfo cxRequestInfo)
      Makes a connection to a queue manager.
      int getActive()
      Gets the active mode of the pool.
      int getHighThreshold()
      Deprecated. 
      int getMaxConnections()
      Gets the maximum number of connections.
      int getMaxUnusedConnections()
      Gets the maximum number of unused connections in the pool.
      long getTimeout()
      Gets the timeout value.
      java.lang.Object recycleConnection(com.ibm.mq.MQManagedConnectionFactory mcf, com.ibm.mq.MQConnectionRequestInfo cxRequestInfo)
      Finds an existing connection to a queue manager.
      void setActive(int mode)
      Sets the active mode of the pool.
      void setHighThreshold(int limit)
      Deprecated. 
      void setMaxConnections(int newLimit)
      Sets the maximum number of connections.
      void setMaxUnusedConnections(int limit)
      Sets the maximum number of unused connections in the pool.
      void setTimeout(long timeout)
      Sets the timeout value.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • MODE_AUTO

        public static final int MODE_AUTO
        An MQSimpleConnectionManager is active if it is the default connection manager and there is at least one connection in the pool.

        This is the default mode.

        See Also:
        Constant Field Values
      • MODE_ACTIVE

        public static final int MODE_ACTIVE
        The pool is always active. On MQQueueManager.disconnect(), the underlying connection is pooled and can be reused the next time an MQQueueManager object is constructed. Connections are destroyed by a separate thread if they have been unused for longer then the timeout period or if the size of the pool exceeds the value set by setMaxUnusedConnections().
        See Also:
        Constant Field Values
      • MODE_INACTIVE

        public static final int MODE_INACTIVE
        The pool is always inactive. The pool of connections is cleared on entering this mode. The connection underlying any active MQQueueManager objects is destroyed when MQQueueManager.disconnect()is called.
        See Also:
        Constant Field Values
    • Constructor Detail

      • MQSimpleConnectionManager

        public MQSimpleConnectionManager()
        Constructs an MQSimpleConnectionManager.
    • Method Detail

      • allocateConnection

        public java.lang.Object allocateConnection(com.ibm.mq.MQManagedConnectionFactory mcf,
                                          com.ibm.mq.MQConnectionRequestInfo cxRequestInfo)
                                            throws com.ibm.mq.MQResourceException
        Makes a connection to a queue manager, either by reusing an existing connection or by creating a new one. It is called by the connection factory instance of the resource adapter.

        Normal applications must not call this method.

        Parameters:
        mcf - the connection factory.
        cxRequestInfo - represents information specific to the resource adapter for handling the connection request.
        Returns:
        a connection.
        Throws:
        MQResourceException - if the call fails.
      • recycleConnection

        public java.lang.Object recycleConnection(com.ibm.mq.MQManagedConnectionFactory mcf,
                                         com.ibm.mq.MQConnectionRequestInfo cxRequestInfo)
        Finds an existing connection to a queue manager. It is called by the connection factory instance of the resource adapter.

        Normal applications must not call this method.

        Parameters:
        mcf - the connection factory.
        cxRequestInfo - represents information specific to the resource adapter for handling the connection request.
        Returns:
        a connection, or null if the call fails.
      • createConnection

        public java.lang.Object createConnection(com.ibm.mq.MQManagedConnectionFactory mcf,
                                        com.ibm.mq.MQConnectionRequestInfo cxRequestInfo)
                                          throws com.ibm.mq.MQResourceException
        Makes a connection to a queue manager. It is called by the connection factory instance of the resource adapter.

        Normal applications must not call this method.

        Parameters:
        mcf - the connection factory.
        cxRequestInfo - represents information specific to the resource adapter for handling the connection request.
        Returns:
        a connection.
        Throws:
        MQResourceException - if the call fails.
      • setTimeout

        public void setTimeout(long timeout)
        Sets the timeout value.
        Parameters:
        timeout - the time out value in milliseconds. Connections which have been unused for this length of time are destroyed.
      • getTimeout

        public long getTimeout()
        Gets the timeout value.
        Returns:
        the time out value in milliseconds. Connections that have been unused for this length of time are destroyed.
      • setMaxUnusedConnections

        public void setMaxUnusedConnections(int limit)
        Sets the maximum number of unused connections in the pool.
        Parameters:
        limit - recently used connections are destroyed if the size of the pool exceeds this value.
      • setHighThreshold

        public void setHighThreshold(int limit)
        Deprecated. use setMaxUnusedConnections() instead.
        Set the max threshold limit for unused connections
        Parameters:
        limit - The value to set
      • getMaxUnusedConnections

        public int getMaxUnusedConnections()
        Gets the maximum number of unused connections in the pool.
        Returns:
        the maximum number of unused connections.
      • getHighThreshold

        public int getHighThreshold()
        Deprecated. use getMaxUnusedConnections()instead.
        Get the max threshold limit of unused connections
        Returns:
        int The high threshold value
      • setMaxConnections

        public void setMaxConnections(int newLimit)
                               throws java.lang.IllegalArgumentException
        Sets the maximum number of connections.
        Parameters:
        newLimit - the new maximum number of connections.
        Throws:
        java.lang.IllegalArgumentException - If limit specified is illegal
      • getMaxConnections

        public int getMaxConnections()
        Gets the maximum number of connections.
        Returns:
        the maximum number of connections.
(c) Copyright IBM Corp. 2008, 2015. All Rights Reserved.