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.
-
Constructor Summary
Constructors Constructor and Description MQSimpleConnectionManager()
Constructs an MQSimpleConnectionManager.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated 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.usegetMaxUnusedConnections()
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, 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.usesetMaxUnusedConnections()
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.
-
-
-
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. 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:
- 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 whenMQQueueManager.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.
-
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
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.
-
-