Package 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
    Description
    static final int
    The pool is always active.
    static final int
    An MQSimpleConnectionManager is active if it is the default connection manager and there is at least one connection in the pool.
    static final int
    The pool is always inactive.

    Fields inherited from class com.ibm.mq.jmqi.JmqiObject

    COMP_JM, COMP_JN, COMP_JO
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs an MQSimpleConnectionManager.
  • Method Summary

    Modifier and Type
    Method
    Description
    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.
    createConnection(com.ibm.mq.MQManagedConnectionFactory mcf, com.ibm.mq.MQConnectionRequestInfo cxRequestInfo)
    Makes a connection to a queue manager.
    int
    Gets the active mode of the pool.
    int
    Deprecated.
    int
    Gets the maximum number of connections.
    int
    Gets the maximum number of unused connections in the pool.
    long
    Gets the timeout value.
    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
    Sets the maximum number of unused connections in the pool.
    void
    setTimeout(long timeout)
    Sets the timeout value.

    Methods inherited from class com.ibm.mq.jmqi.JmqiObject

    getJmqiEnvironment

    Methods inherited from class java.lang.Object

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

    • 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:
    • 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:
    • 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:
  • Constructor Details

    • MQSimpleConnectionManager

      public MQSimpleConnectionManager()
      Constructs an MQSimpleConnectionManager.
  • Method Details

    • allocateConnection

      public 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:
      com.ibm.mq.MQResourceException - if the call fails.
    • recycleConnection

      public 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 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:
      com.ibm.mq.MQResourceException - if the call fails.
    • setActive

      public void setActive(int mode)
      Sets the active mode of the pool.
      Parameters:
      mode - one of:
    • getActive

      public int getActive()
      Gets the active mode of the pool.
      Returns:
      one of:
    • 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.
      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.
      Get the max threshold limit of unused connections
      Returns:
      int The high threshold value
    • setMaxConnections

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

      public int getMaxConnections()
      Gets the maximum number of connections.
      Returns:
      the maximum number of connections.