Queue manager configuration files, qm.ini
A queue manager configuration file, qm.ini, contains information relevant to a specific queue manager.
There is one queue manager configuration file for each queue manager. The qm.ini file is automatically created when the queue manager with which it is associated is created.
Note: For information on when any changes that you make to the qm.ini file take effect, see Change configuration information on UNIX, Linux, and WindowsFrom IBM MQ Version 9.0.4 and IBM MQ Version 9.0.0, Fix Pack 2, the strmqm command checks the syntax of the CHANNELS and SSL stanzas in the qm.ini file before starting the queue manager fully, which makes it much easier to see what is wrong, and correct it quickly if strmqm finds that the qm.ini file contains any errors. For more information, see strmqm.
Location of the qm.ini files
On UNIX and Linux systems, a qm.ini file is held in the root of the directory tree occupied by the queue manager. For example, the path and the name for a configuration file for a queue manager called QMNAME is:
/var/mqm/qmgrs/QMNAME/qm.iniOn Windows systems, the location of the qm.ini file is given by the WorkPath specified in the HKLM\SOFTWARE\IBM\WebSphere MQ key. For example, the path and the name for a configuration file for a queue manager called QMNAME is as follows:
C:\ProgramData\IBM\MQ\qmgrs\QMNAME\qm.ini
The queue manager name can be up to 48 characters in length. However, this does not guarantee that the name is valid or unique. Therefore, a directory name is generated based on the queue manager name. This process is known as name transformation. For a description, see Understanding IBM MQ file names.
Example qm.ini file
Figure 1 shows how groups of attributes might be arranged in a queue manager configuration file in IBM MQ for UNIX and Linux systems. Notes for Figure 1:- The value of zero for LogBufferPages gives a value of 512.
- For more information on the Channel stanza, see Initialization and configuration files.
- The maximum number of XAResourceManager stanzas is limited to 255. However, you should use only a small number of stanzas to avoid transaction performance degradation.
- From IBM MQ Version 8.0, for new queue managers on Multiplatforms, the default
TCP send and receive buffer sizes in the TCP stanza of the qm.ini file are set
to be managed by the operating system. New queue managers are automatically created with the
following default settings for the send and receive
buffers:
TCP: SndBuffSize=0 RcvBuffSize=0 RcvSndBuffSize=0 RcvRcvBuffSize=0 ClntSndBuffSize=0 ClntRcvBuffSize=0 SvrSndBuffSize=0 SvrRcvBuffSize=0
Before Version 8.0, without manual tuning, these values defaulted to a fixed size 32Kb buffer.
This change applies to new queue managers only. The TCP send and receive buffer settings for queue managers that are migrated from earlier releases is retained.
For information on how to manually set the TCP buffer sizes to use operating system default behavior for migrated queue managers, see TCP, LU62, NETBIOS, and SPX.
AccessMode stanza
The qm.ini file for Windows includes an additional AccessMode stanza:AccessMode: SecurityGroup=wmq\wmq
APIExitLocal stanza
The ApiExitLocal stanza allows only a single Module to be specified, and yet four modules need to be provided, as follows:- 32 bit unthreaded
- 32 bit threaded
- 64 bit unthreaded
- 64 bit threaded
Note that IBM MQ appends _r to the supplied module name to identify the threaded version of the exit, but IBM MQ does not provide a directly equivalent mechanism for the 32 bit and 64 bit variants.
If an unqualified module name is provided, IBM MQ looks in /var/mqm/exits for the 32 bit variants and in /var/mqm/exits64 for the 64 bit variants
For example, module=amqsaxe implies:/var/mqm/exits/amqsaxe - 32 bit unthreaded variant /var/mqm/exits/amqsaxe_r - 32 bit threaded variant /var/mqm/exits64/amqsaxe - 64 bit unthreaded variant /var/mqm/exits64/amqsaxe_r - 64 bit threaded variant
The versions of amqsaxe0 and amqsaxe0_r that are shipped in prefix/mqm/samp/bin are built for the native size of the queue manager on the platform for which they are built (now all 64 bit) and can only be used by applications running in the same native size.