Planning for manually-defined cluster transmission queues

If you define the transmission queues yourself you have more control over the definitions, and the page set on which the messages are held.

About this task

Your administrator manually defines a transmission queue and uses a new queue attribute CLCHNAME to define which cluster sender channel, or channels, will use this queue as their transmission queue.

Note that CLCHNAME can include a wildcard character at the beginning, or end, to allow a single queue to be used for multiple channels.

To set up cluster transmission queues automatically, see Automatically-defined cluster transmission queues.

Procedure

  1. For example, enter the following:
    
    DEFINE QLOCAL(APPQMGR.CLUSTER1.XMITQ)
    CLCHNAME(CLUSTER1.TO.APPQMGR)
    USAGE(XMITQ) STGCLASS(STG1)
    INDXTYPE( CORRELID ) SHARE
    
    DEFINE STGCLASS(STG1) PSID(3)
    DEFINE PSID(3) BUFFERPOOL(4)
    
    Tip: You need to plan which page set (and buffer pool) you use for your transmission queues. You can have different page sets for different queues, and provide isolation between them, so one page set filling up, does not impact transmission queues in other page sets.

    See Working with cluster transmission queues and cluster-sender channels for information on how each channel selects the appropriate queue.

    When the channel starts it switches its association to the new transmission queue. In order to make sure no message is lost, the queue manager automatically transfers messages from the old cluster transmission queue to the new transmission queue in order.

  2. Use the CSQUTIL SWITCH function to change to the new association.
    1. STOP the channel, or channels, whose transmission queue is to be changed, so that they are in STOPPED status.
      For example:
      
      STOP CHANNEL(CLUSTER1.TO.APPQMGR)
      
    2. Change the CLCHNAME(XXXX) attribute on the transmission queue.
    3. Use the SWITCH function to switch the messages or monitor what is happening.
      Use the command
      
      SWITCH CHANNEL(*) MOVEMSGS(YES)
      
      to move the messages without starting the channel.
    4. Start the channel, or channels, and check whether the channel is using the correct queues.
      For example:
      
      DIS CHS(CLUSTER1.TO.APPQMGR)
      DIS CHS(*) where(XMITQ eq APPQMGR.CLUSTER1.XMITQ)
      
    Tip:
    • The following process uses the CSQUTIL SWITCH function; for more information, see Switch the transmission queue associated with cluster-sender channels (SWITCH).
      You do not have to use this function but using this function gives more options:
      • Using SWITCH CHANNEL (*) STATUS provides an easy way to identify the switching status of cluster-sender channels. It allows your administrator to see what channels are currently switching, and those channels having a switch pending that take effect when those channels next start.

        Without this capability your administrator needs to use multiple DISPLAY commands, and then process the resulting output to ascertain this information. Your administrator can also confirm that a configuration change has the required result.

      • If CSQUTIL is used to initiate the switch, CSQUTIL continues to monitor the progress of this operation, and only ends when the switch has completed.

        This can make it much easier to perform these operations in batch. Also, if CSQUTIL is run to switch multiple channels, CSQUTIL performs these actions sequentially; this can have less impact for your enterprise than multiple switches running in parallel.

Results

You have set up your cluster transmission queue, or queues.