[AIX, Linux, Windows]

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 more information on when any changes that you make to the qm.ini file take effect, see Changing configuration information on AIX, Linux, and Windows

From IBM MQ 9.0.4 and IBM MQ 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

[AIX][Linux]On AIX 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.ini
[Windows]On 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.

[AIX][Linux]

Example qm.ini file

The following example shows how groups of attributes might be arranged in a queue manager configuration file on AIX and Linux systems.

#* Module Name: qm.ini                                             *#
#* Type       : IBM MQ queue manager configuration file            *#
#  Function   : Define the configuration of a single queue manager *#
#*                                                                 *#
#*******************************************************************#
#* Notes      :                                                    *#
#* 1) This file defines the configuration of the queue manager     *#
#*                                                                 *#
#*******************************************************************#

ExitPath:
   ExitsDefaultPath=/var/mqm/exits
   ExitsDefaultPath64=/var/mqm/exits64

Service:
   Name=AuthorizationService
   EntryPoints=14

ServiceComponent:
   Service=AuthorizationService
   Name=MQSeries.UNIX.auth.service
   Module=amqzfu
   ComponentDataSize=0

Log:
   LogPrimaryFiles=3
   LogSecondaryFiles=2
   LogFilePages=4096
   LogType=CIRCULAR
   LogBufferPages=0 1
   LogPath=/var/mqm/log/saturn!queue!manager/

XAResourceManager:
   Name=DB2 Resource Manager Bank
   SwitchFile=/usr/bin/db2swit
   XAOpenString=MQBankDB
   XACloseString=
   ThreadOfControl=THREAD

Channels: 2
   MaxChannels=200
   MaxActiveChannels=100
   MQIBindType=STANDARD

TCP:
   SndBuffSize=0
   RcvBuffSize=0
   RcvSndBuffSize=0
   RcvRcvBuffSize=0
   ClntSndBuffSize=0
   ClntRcvBuffSize=0
   SvrSndBuffSize=0
   SvrRcvBuffSize=0

QMErrorLog:
   ErrorLogSize=262144
   ExcludeMessage=7234
   SuppressMessage=9001,9002,9202
   SuppressInterval=30

ApiExitLocal:
   Name=ClientApplicationAPIchecker
   Sequence=3
   Function=EntryPoint
   Module=/usr/Dev/ClientAppChecker
   Data=9.20.176.20 

TuningParameters:
   ImplSyncOpenOutput=2
Notes:
  1. The value of zero for LogBufferPages gives a value of 512.
  2. For more information on the Channel stanza, see Initialization and configuration files.
  3. 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.
  4. [UNIX, Linux, Windows, IBM i]From IBM MQ 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 IBM MQ 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 versions of IBM MQ are 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.

[Windows]

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.