Starting a shared channel
To start a shared channel, and keep it on a nominated channel initiator, use disposition = S (on the START CHANNEL command, specify CHLDISP(FIXSHARED)).
There can be only one instance of the shared channel running at a time. Attempts to start a second instance of the channel fail.
When you start a channel in this way, the following rules apply to that channel:
- We can stop the channel from any queue manager in the queue sharing group. We can stop it even if the channel initiator on which it was started is not running at the time you issue the stop-channel request. When the channel has stopped, we can restart it by specifying disposition = S (CHLDISP(FIXSHARED)) on the same, or another, channel initiator. We can also start it by specifying disposition = A (CHLDISP(SHARED)).
- If the channel is in the starting or retry state, we can restart it by specifying disposition = S (CHLDISP(FIXSHARED)) on the same or a different channel initiator. We can also start it by specifying disposition = A (CHLDISP(SHARED)).
- The channel is eligible to be trigger started when it goes into the inactive state. Shared channels that are trigger started always have a shared disposition (CHLDISP(SHARED)).
- The channel is eligible to be started with CHLDISP(FIXSHARED), on any channel initiator, when it goes into the inactive state. We can also start it by specifying disposition = A (CHLDISP(SHARED)).
- The channel is not recovered by any other active channel initiator in the queue sharing group when the channel initiator on which it was started is stopped with SHARED(RESTART), or when the channel initiator terminates abnormally. The channel is recovered only when the channel initiator on which it was started is next restarted. This stops failed channel-recovery attempts being passed to other channel initiators in the queue sharing group, which would add to their workload.