com.ibm.mq
Class MQSimpleConnectionManager

java.lang.Object
  |
  +--com.ibm.mq.MQSimpleConnectionManager
All Implemented Interfaces:
com.ibm.mq.MQConnectionManager

public final class MQSimpleConnectionManager
extends java.lang.Object
implements com.ibm.mq.MQConnectionManager

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
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.
 
Constructor Summary
MQSimpleConnectionManager()
          Constructs an MQSimpleConnectionManager.
 
Method Summary
 java.lang.Object allocateConnection(com.ibm.mq.MQManagedConnectionFactory mcf, javax.resource.spi.ConnectionRequestInfo 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, javax.resource.spi.ConnectionRequestInfo cxRequestInfo)
          Makes a connection to a queue manager.
 int getActive()
          Gets the active mode of the pool.
 int getHighThreshold()
          Deprecated. use getMaxUnusedConnections() instead.
 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, javax.resource.spi.ConnectionRequestInfo 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. use setMaxUnusedConnections() instead.
 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,
                                           javax.resource.spi.ConnectionRequestInfo cxRequestInfo)
                                    throws javax.resource.ResourceException
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 should not call this method.

Specified by:
allocateConnection in interface com.ibm.mq.MQConnectionManager
Parameters:
mcf - the connection factory.
cxRequestInfo - represents information specific to the resource adapter for handling the connection request.
Returns:
a connection.
Throws:
javax.resource.ResourceException - if the call fails.

recycleConnection

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

Normal applications should 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,
                                         javax.resource.spi.ConnectionRequestInfo cxRequestInfo)
                                  throws javax.resource.ResourceException
Makes a connection to a queue manager. It is called by the connection factory instance of the resource adapter.

Normal applications should 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:
javax.resource.ResourceException - 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. use setMaxUnusedConnections() instead.

Parameters:
limit -

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.

Returns:
int

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

getMaxConnections

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

Returns:
the maximum number of connections.

(c) Copyright IBM Corp. 2005. All Rights Reserved.