States of the IBM MQ link and its channels
For each possible state of a IBM MQ link, this table lists the associated states of the link's sender and receiver channels.
State of IBM MQ link IBM MQ link sender channel IBM MQ link receiver channel INACTIVE Same as STOPPED for the IBM MQ link sender. If the administrator requests that the channel go into target state STOPPED it will transition into the STOPPED state. Similarly, an administrator starting the channel will cause it to transition into STANDBY state. No network connection exists between the application server and the queue manager. If the attempts of an IBM MQ sender channel to establish a connection should succeed, it will become possible for messages to flow from the queue manager to the messaging engine. In this case the receiver channel will transition into RUNNING state. STARTING A transitional state. The channel should successfully pass through this into BINDING state with no intervention. A transitional state. The channel should successfully pass through this into BINDING state with no intervention. BINDING A transitional state. The channel should successfully pass through this into RUNNING state with no intervention. The channel might transition into STOPPING state if a problem occurs. A transitional state. The channel should successfully pass through this into RUNNING state with no intervention. The channel might transition into STOPPING state if a problem occurs. INITIALIZING A transitional state. The channel should successfully pass through this into STARTING state with no intervention. A transitional state. The channel should successfully pass through this into STARTING state with no intervention. RETRYING A network connection to the queue manager has been lost. The channel attempts to reconnect. If the retry intervals are exhausted without successfully establishing the connection then the channel enters STOPPED state. If a connection is successfully reestablished, the channel enters INITIALIZING state. Not applicable to receiver channel. STANDBY When in this state, the sender channel is not network-connected to its IBM MQ counterpart receiver channel. It is waiting for a message to send before attempting to establish a connection. When a message arrives for transmission, the channel will transition into STARTING state and start the process of attempting to establish a network connection. The administrator may command the channel to transition into either INACTIVE or STOPPED state from this state. Not applicable to receiver channel. RUNNING In this state a network connection has been established between application server and queue manager. Messages destined for the queue manager will be transmitted. Either attempting to stop the channel using the administrative console, or the loss of the network connection will cause transition into the STOPPING state. Network connection established between application server and queue manager. Messages destined for the messaging engine will be received. Attempting to stop the channel, or the loss of the network connection will cause a transition into STOPPING state. STOPPING A transitional state. The channel should transition into either RETRYING state or STOPPED state without intervention. If the channel has been placed in STOPPING state by the administrative request to become INACTIVE then it will transition into the STANDBY state. If the channel has been placed in this state by administrator request to stop, it will transition into the STOPPED state. If the channel has been placed in this state by a broken network connection it will transition into the RETRYING state, assuming that it has non-zero retry intervals or is otherwise STOPPED. A transitional state. The channel will transition from this state into STOPPED without intervention. STOPPED No network connection exists between the application server and the queue manager. Messages destined for the queue manager will not be transmitted. To transition from this state requires the administrator to start the channel, this will place it in STANDBY state. No network connection exists between the application server and the queue manager. Any attempt by a sender channel in the IBM MQ network to establish a connection will be rejected. Messages destined for the messaging engine will not be received. Administrator action is required to move the channel out of this state. Starting the channel will move it into INACTIVE state. For information about the states of the channels in an IBM MQ network refer to the Intercommunication section of the IBM MQ information center, available from the IBM MQ library.
We can stop an IBM MQ link (and its sender and receiver channels) on a service integration bus, or we can stop individual sender or receiver channels. The following sections describe in more detail what happens when you transition between states.
Stopping an IBM MQ link
Stopping an IBM MQ link results in both the IBM MQ link sender and the IBM MQ link receiver channels being stopped:
- If a currently RUNNING IBM MQ link is stopped in state STOPPED with mode QUIESCE, the overall state of the IBM MQ link goes to STOPPED state. The IBM MQ link sender channel goes to STOPPED state. The IBM MQ link receiver channel goes to STOPPED state.
- If a currently RUNNING IBM MQ link is stopped in state INACTIVE with mode QUIESCE, the overall state of the IBM MQ link remains set to RUNNING. The IBM MQ link sender channel goes to STANDBY state. The IBM MQ link receiver channel goes to INACTIVE state. The IBM MQ sender channel will stop when convenient, as described later in this section.
- If a currently RUNNING IBM MQ link is stopped in state STOPPED with mode FORCE, the overall state of the IBM MQ link goes to STOPPED state. The IBM MQ link sender channel goes to STOPPED state. The IBM MQ link receiver channel goes to STOPPED state.
- If a currently RUNNING IBM MQ link is stopped in state INACTIVE with mode FORCE, the overall state of the IBM MQ link remains set to RUNNING. The IBM MQ link sender goes to STANDBY state. The IBM MQ link receiver channel goes to INACTIVE state.
Stopping an IBM MQ link sender channel
Stopping an IBM MQ link sender stops only the IBM MQ link sender channel. (However, when the IBM MQ link sender channel is stopped, it communicates with the receiver channel in the IBM MQ network to say it is stopping, with the result that the receiver channel on IBM MQ stops and goes into inactive state.)
If a currently RUNNING IBM MQ link sender channel is stopped in state STOPPED, it goes to STOPPED state.
If a currently RUNNING IBM MQ link sender channel is stopped in state INACTIVE, it goes to STANDBY state.
Stopping an IBM MQ link receiver channel
Stopping an IBM MQ link receiver stops all receiver channel connections for that receiver.
If a currently RUNNING IBM MQ link receiver channel is stopped in state STOPPED, it goes to STOPPED state. The sender channel in the IBM MQ network will notice, either when it tries to next send some data, or when its heartbeat interval is reached and it tries to send a heartbeat flow, or when its disconnect interval expires and it attempts to close the session, that the IBM MQ link receiver in the service integration bus is in STOPPING state and itself stop and then enter a state of RETRYING. The IBM MQ link receiver will then go to STOPPED state, so preventing a sender channel in the IBM MQ network from establishing a session.
If a sender channel in the IBM MQ network is started while an IBM MQ link receiver channel in a service integration bus is in STOPPED state, the request fails with an error indicating that the IBM MQ link receiver channel is not available.
If a currently RUNNING IBM MQ link receiver channel is stopped in state INACTIVE, it goes to STOPPING state. The sender channel in the IBM MQ network will notice, either when it tries to next send some data, or when its heartbeat interval is reached and it tries to send a heartbeat flow, or when its disconnect interval expires and it attempts to close the session, that the IBM MQ link receiver is in STOPPING state and itself stop and then enter a state of RETRYING. The IBM MQ link receiver will then go to INACTIVE state. The RETRYING sender channel in the IBM MQ network will then establish a session with the IBM MQ link receiver channel, at which point both channels will go to RUNNING state.
IBM MQ link receiver channel connection
Stopping an IBM MQ link receiver channel connection stops only that connection. Individual connections can only be stopped in target state INACTIVE.
Modes of a stopped IBM MQ link
When an active IBM MQ link receiver channel connection is stopped, the connection goes to a state of STOPPING. The sender channel in the IBM MQ network will notice, either when it tries to next send some data, or when its heartbeat interval is reached and it tries to send a heartbeat flow, or when its disconnect interval expires and it attempts to close the session, that the IBM MQ link receiver is in STOPPING state and itself stop and then enter a state of RETRYING.
The MODE has an effect on the stopping of channels.
- QUIESCE, the channel stops when it is convenient for it to do so.
For an IBM MQ link sender channel, the link sender goes to STANDBY or STOPPED state (depending on the stop state specified), this can occur either when it reaches the end of the current batch, or when it reaches a heartbeat interval.
In the case of an IBM MQ link receiver, the link receiver goes to STOPPING state and then to INACTIVE or STOPPED state (depending on the stop state specified) when the sender in the IBM MQ network next attempts to communicate with it. Though, if an IBM MQ link receiver channel goes INACTIVE and the sender channel in the IBM MQ network goes to RETRYING, then as soon as a session is reestablished, both ends will go to RUNNING state.
- FORCE, the channel stops immediately.
For an IBM MQ link sender channel, the IBM MQ link sender goes to STANDBY or STOPPED state (depending on the stop state specified).
For an IBM MQ link receiver, the IBM MQ link receiver goes to INACTIVE or STOPPED state (depending on the stop state specified). When the sender channel in the IBM MQ network next tries to communicate with the IBM MQ link receiver, it will either enter a state of RETRYING and reestablish a session with the IBM MQ link receiver, or go to a STOPPED state.
IBM MQ link sender channels can go to INDOUBT state (as can sender channels in an IBM MQ network). IBM MQ link receiver channels do not go to INDOUBT state.
While sending a batch of persistent messages, an IBM MQ link sender channel goes to a state of INDOUBT. When it commits the batch, it sends a commit request to the partner and waits for confirmation. When the partner sends a confirmation, the batch is finally committed and the sender channel is no longer in INDOUBT state. If the partner fails to send a confirmation flow, then the sender channel will remain in INDOUBT state.
INDOUBT batches can be COMMITTED or ROLLED back from the Saved Status panel for IBM MQ link sender channels.