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
FieldsModifier and TypeFieldDescriptionstatic final intThe pool is always active.static final intAn MQSimpleConnectionManager is active if it is the default connection manager and there is at least one connection in the pool.static final intThe pool is always inactive.Fields inherited from class com.ibm.mq.jmqi.JmqiObject
COMP_JM, COMP_JN, COMP_JO -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionallocateConnection(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.intGets the active mode of the pool.intDeprecated.intGets the maximum number of connections.intGets the maximum number of unused connections in the pool.longGets the timeout value.recycleConnection(com.ibm.mq.MQManagedConnectionFactory mcf, com.ibm.mq.MQConnectionRequestInfo cxRequestInfo) Finds an existing connection to a queue manager.voidsetActive(int mode) Sets the active mode of the pool.voidsetHighThreshold(int limit) Deprecated.usesetMaxUnusedConnections()instead.voidsetMaxConnections(int newLimit) Sets the maximum number of connections.voidsetMaxUnusedConnections(int limit) Sets the maximum number of unused connections in the pool.voidsetTimeout(long timeout) Sets the timeout value.Methods inherited from class com.ibm.mq.jmqi.JmqiObject
getJmqiEnvironment
-
Field Details
-
MODE_AUTO
public static final int MODE_AUTOAn 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_ACTIVEThe pool is always active. OnMQQueueManager.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 bysetMaxUnusedConnections().- See Also:
-
MODE_INACTIVE
public static final int MODE_INACTIVEThe pool is always inactive. The pool of connections is cleared on entering this mode. The connection underlying any active MQQueueManager objects is destroyed whenMQQueueManager.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.usesetMaxUnusedConnections()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.usegetMaxUnusedConnections()instead.Get the max threshold limit of unused connections- Returns:
- int The high threshold value
-
setMaxConnections
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.
-
getMaxUnusedConnections()instead.