RESOLVE CHANNEL
Use the MQSC command RESOLVE CHANNEL to request a channel to commit or back out in-doubt messages.
Use MQSC commands
For information on how we use MQSC commands, see Performing local administration tasks using MQSC commands.
We can issue this command from sources CR. For an explanation of the source symbols, see Sources from which we can issue MQSC commands on z/OS .
Synonym: RESOLVE CHL (RES CHL on z/OS )
RESOLVE CHANNEL
Notes:- 1 Valid only on z/OS when the queue manager is a member of a queue sharing group.
- 2 Valid only on z/OS.
Usage notes for RESOLVE CHANNEL
- This command is used when the other end of a link fails during the confirmation period, and for some reason it is not possible to reestablish the connection.
- In this situation the sending end remains in doubt as to whether the messages were received. Any outstanding units of work must be resolved by being backed out or committed.
- If the resolution specified is not the same as the resolution at the receiving end, messages can be lost or duplicated.
- On z/OS, the command server and the channel initiator must be running.
- This command can be used only for sender (SDR), server (SVR), and cluster-sender (CLUSSDR) channels (including those that have been defined automatically).
- Where there is both a locally defined channel and an auto-defined cluster-sender channel of the same name, the command applies to the locally defined channel. If there is no locally defined channel but more than one auto-defined cluster-sender channel, the command applies to the channel that was last added to the local queue manager's repository.
- If the resolution specified is not the same as the resolution at the receiving end, messages can be lost or duplicated.
Parameter descriptions for RESOLVE CHANNEL
- (channel-name)
- The name of the channel for which in-doubt messages are to be resolved. This is required.
- ACTION
-
Specifies whether to
commit or back out the in-doubt messages (this is required):
- COMMIT
- The messages are committed, that is, they are deleted from the transmission queue
- BACKOUT
- The messages are backed out, that is, they are restored to the transmission queue
- CHLDISP
-
This parameter applies to z/OS only and
can take the values of:
- DEFAULT
- PRIVATE
- SHARED
If this parameter is omitted, then the DEFAULT value applies. This is taken from the default channel disposition attribute, DEFCDISP, of the channel object.
In conjunction with the various values of the CMDSCOPE parameter, this parameter controls two types of channel:- SHARED
- A receiving channel is shared if it was started in response to an inbound transmission directed
to the queue sharing group.
A sending channel is shared if its transmission queue has a disposition of SHARED.
- PRIVATE
- A receiving channel is private if it was started in response to an inbound transmission directed
to the queue manager.
A sending channel is private if its transmission queue has a disposition other than SHARED.
Note: This disposition is not related to the disposition set by the disposition of the queue sharing group of the channel definition. The combination of the CHLDISP and CMDSCOPE parameters also controls from which queue manager the channel is operated. The possible options are:
- On the local queue manager where the command is issued.
- On another specific named queue manager in the group.
The various combinations of CHLDISP and CMDSCOPE are summarized in the following table:
CHLDISP CMDSCOPE( ) or CMDSCOPE (local-qmgr) CMDSCOPE (qmgr-name) PRIVATE Resolve private channel on the local queue manager Resolve private channel on the named queue manager SHARED Resolve a shared channel on all active queue managers. This might automatically generate a command using CMDSCOPE and send it to the appropriate queue manager. If there is no definition for the channel on the queue manager to which the command is sent, or if the definition is unsuitable for the command, the command fails.
The definition of a channel on the queue manager where the command is entered might be used to determine the target queue manager where the command is actually run. Therefore, it is important that channel definitions are consistent. Inconsistent channel definitions might result in unexpected command behavior.
Not permitted - CMDSCOPE
-
This parameter applies to z/OS only and
specifies how the command runs when the queue manager is a member of a queue sharing group. If
CHLDISP is set to SHARED, CMDSCOPE must be blank or the local queue manager.
- ' '
- The command runs on the queue manager on which it was entered. This is the default value.
- qmgr-name
- The command runs on the queue manager you specify, providing the queue manager is active within
the queue sharing group.
We can specify a queue manager name only if we are using a queue sharing group environment and if the command server is enabled.
Parent topic: MQSC commands