通道可以随時處于多種狀态之一。一些狀态也有子狀态。通道可以從給定狀态移動到其他狀态。
下圖顯示了所有可能的通道狀态的層次結構以及适用于每個通道狀态的子狀态。
Figure1
通道狀态之間的流動
Figure2
Current and active
A channel is current if it is in any state other than inactive. A current channel is active unless it is in RETRYING, STOPPED, or STARTING state. When a channel is active, it is consuming resource and a process or thread is running. The seven possible states of an active channel (INITIALIZING, BINDING, SWITCHING, REQUESTING, RUNNING, PAUSED, or STOPPING) are highlighted in Figure 2.
An active channel can also show a substate giving more detail of exactly what the channel is doing. The substates for each state are shown in Figure 1.
-
Current and active
The channel is “current” if it is in any state other than inactive. A current channel is “active” unless it is in RETRYING, STOPPED, or STARTING state.
-
Channel errors
Errors on channels cause the channel to stop further transmissions. If the channel is a sender or server, it goes to RETRY state because it is possible that the problem might clear itself. If it cannot go to RETRY state, the channel goes to STOPPED state.