How IBM MQ uses work management objects on IBM i
This information describes the way in which IBM MQ uses the work management objects, and provides configuration examples.
Attention: Do not alter the job queue entry settings in the QMQM subsytem to limit the number of jobs allowed in the subsystem by priority. If you attempt to do this, we can stop essential IBM MQ jobs from running after they are submitted and cause the queue manager startup to fail.To understand how to configure work management, we must first understand how IBM MQ uses job descriptions.
The job description used to start the job controls many attributes of the job. For example:
- The job queue on which the job is queued and on which subsystem the job runs.
- The routing data used to start the job and class that the job uses for its runtime parameters.
- The output queue that the job uses for print files.
The process of starting an IBM MQ job can be considered in three steps:
- IBM MQ selects a job description. IBM MQ uses the following technique to determine which job description to use for a batch job:
- Look in the queue manager library for a job description with the same name as the job. See Understand IBM MQ for IBM i queue manager library names for further details about the queue manager library.
- Look in the queue manager library for the default job description QMQMJOBD.
- Look in the QMQM library for a job description with the same name as the job.
- Use the default job description, QMQMJOBD, in the QMQM library.
- The job is submitted to the job queue.
Job descriptions supplied with IBM MQ have been set up, by default, to put jobs on to job queue QMQM in library QMQM. The QMQM job queue is attached to the supplied QMQM subsystem, so by default the jobs start running in the QMQM subsystem.
- The job enters the subsystem and goes through the routing steps.
When the job enters the subsystem, the routing data specified on the job description is used to find routing entries for the job.
The routing data must match one of the routing entries defined in the QMQM subsystem, and this defines which of the supplied classes (QMQMRUN20, QMQMRUN35, or QMQMRUN50) is used by the job.
Note: If IBM MQ jobs do not appear to be starting, make sure that the subsystem is running and the job queue is not held,
If we have modified the IBM MQ work management objects, make sure everything is associated correctly. For example, if we specify a job queue other than QMQM/QMQM on the job description, make sure that an ADDJOBQE is performed for the subsystem, that is, QMQM.
We can create a job description for each job documented in Table 1 using the following worksheet as an example:What is the queue manager library name? ___________ Does job description AMQZXMA0 exist in the queue manager library? Yes No Does job description QMQMJOBD exist in the queue manager library? Yes No Does job description AMQZXMA0 exist in the QMQM library? Yes No Does job description QMQMJOBD exist in the QMQM library? Yes NoIf you answer No to all these questions, create a global job description QMQMJOBD in the QMQM library.
The IBM MQ message queue
An IBM MQ message queue, QMQMMSG, is created in each queue manager library. Operating system messages are sent to this queue when queue manager jobs end and IBM MQ sends messages to the queue. For example, to report which journal receivers are needed at startup. Keep the number of messages in this message queue at a manageable size to make it easier to monitor.
Parent topic: Work management for IBM i