QUEUE_MANAGER section of the DFSDFxxx member
The QUEUE_MANAGER section of the DFSDFxxx member of the IMS PROCLIB data set specifies a limit on the 64-bit storage used for caching large messages and a threshold for the number of records to cache a Shared Queues retrieved message by the queue manager.
The section must begin with the header <SECTION=QUEUE_MANAGER>. The
QUEUE_MANAGER section is optional and valid in DB/DC and DCCTL environments.
Syntax
Parameters
- CACHE64_MAX_CACHE_SIZE=
-
Specifies the maximum size in GB of the queue manager 64-bit storage pool used for caching large messages, from 0 to 64. The default is 0 (no caching). The cache storage is in the private area of the IMS control region and is an IMS 64-bit storage manager pool named QMGRMESSAGECACHE. The QUERY POOL TYPE(STG64) command can be used to display the current attributes of this pool.
The CACHE64_MAX_CACHE_SIZE parameter is applicable only when IMS is running with shared message queues. It is ignored for non-shared queues systems, and on all systems with a version lower than IMS 15.3.
When the value of this parameter is 0, unspecified, or ignored, the queue manager does not allocate any 64-bit storage for caching, and does not cache large messages in 64-bit storage.
When the value of this parameter is 1 or greater, queue manager caching is enabled for certain types of messages. Message types that can be cached are:- APPC CM1 (synchronous) messages
- OTMA CMA (synchronous) messages
- When the total number of records in the message exceeds the value specified on the CACHE64_RECORD_THRESHOLD.
- When the 31-bit queue pool of the queue manager has reached its upper limit, irrespective of the number of records in the message (if two or greater).
- When the queue manager is unable to get a 31-bit buffer, irrespective of the number of records in the message (if two or greater). In this case, any records for the message that have been read into the 31-bit storage already (other than the first) are copied to 64-bit cache buffers, and the 31-bit buffers are released back to queue manager. Then the current and remaining records are put into 64-bit buffers.
- CACHE64_RECORD_THRESHOLD=
-
Specifies the record number threshold to cache Shared Queues retrieved messages.
The Queue Manager always caches the second through last records of supported message types in the 64-bit storage if the total number of records in the message exceeds the number specified in CACHE64_RECORD_THRESHOLD= . The threshold can be from 0 to 2,147,483,647. The default is 10. This parameter only applies when IMS is running with shared message queues. It is ignored for non-shared queues systems, if the CACHE64_MAX_CACHE_SIZE parameter is zero, and on all systems with a version lower than IMS 15.3. If CACHE64_RECORD_THRESHOLD=0, no caching is done based on message record number; refer to the description of the CACHE64_MAX_CACHE_SIZE parameter.
Examples of the Queue Manager section
The following example sets the upper limit for the queue manager 64-bit cache pool to 1GB. The example also specifies that when the queue pool reaches its maximum limit or when there are no more 31-bit queue buffers available, the queue manager should cache the second through last records of eligible messages.
//*****************************************************************/
/* IMS Queue Manager Section */
/******************************************************************/
<SECTION=UEUE_MANAGER>
CACHE64_MAX_CACHE_SIZE=1
CACHE64_RECORD_THRESHOLD=0
/******************************************************************/
/* */
/******************************************************************/
The following example sets the upper limit for the queue manager 64-bit cache pool to 2GB. The example also specifies that when the queue pool reaches its maximum limit or when there are no more 31-bit queue buffers available, the queue manager should cache the second through last records of eligible messages with number of records greater than 1.
//*****************************************************************/
/* IMS Queue Manager Section */
/******************************************************************/
<SECTION=UEUE_MANAGER>
CACHE64_MAX_CACHE_SIZE=2
CACHE64_RECORD_THRESHOLD=1
/******************************************************************/
/* */
/******************************************************************/
The following example sets the upper limit for the queue manager 64-bit cache pool to 2GB. The example also specifies that when the queue pool reaches its maximum limit or when there are no more 31-bit queue buffers available, the queue manager should cache the second through last records of eligible messages with number of records greater than 99.
//*****************************************************************/
/* IMS Queue Manager Section */
/******************************************************************/
<SECTION=UEUE_MANAGER>
CACHE64_MAX_CACHE_SIZE=2
CACHE64_RECORD_THRESHOLD=99
/******************************************************************/
/* */
/******************************************************************/
The following example sets the cache option to none for the queue manager, which is the default option. As a result, no QMGRMESSAGECACHE pool will be allocated.
//*****************************************************************/
/* IMS Queue Manager Section */
/******************************************************************/
<SECTION=UEUE_MANAGER>
CACHE64_MAX_CACHE_SIZE=0
/******************************************************************/
/* */
/******************************************************************/
