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

Read syntax diagramSkip visual syntax diagramCACHE64_MAX_CACHE_SIZE= 0CACHE64_MAX_CACHE_SIZE= maximum_pool_size_value
Read syntax diagramSkip visual syntax diagramCACHE64_RECORD_THRESHOLD= 10CACHE64_RECORD_THRESHOLD= threshhold_value

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 number of records in a supported message type is 2 or greater, the second through last records of the message are cached in 64-bit storage when they are read from the shared queue (CQS) in the following situations:
  • 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
/******************************************************************/
/*                                                                */
/******************************************************************/