A message channel is a one-way link. It connects two queue managers via message channel agents (MCAs). Its purpose is to transfer messages from one queue manager to another. Message channels are not required by the client server environment.
Message channels are the channels that carry messages from one queue manager to another. Do not confuse message channels with MQI channels.
There are two types of MQI channel, server-connection and client-connection. These are discussed in WebSphere MQ Clients.
The definition of each end of a message channel can be one of the following types:
- Cluster sender
- Cluster receiver
A message channel is defined using one of these types defined at one end, and a compatible type at the other end.
Possible combinations are as follows
- Requester-sender (callback)
- Cluster sender-cluster receiver
A sender in one system starts the channel so that it can send messages to the other system. The sender requests the receiver at the other end of the channel to start. The sender sends messages from its transmission queue to the receiver.
A requester in one system starts the channel so that it can receive messages from the other system. The requester requests the server at the other end of the channel to start. The server sends messages to the requester from the transmission queue defined in its channel definition.
A server channel can also initiate the communication and send messages to a requester, but this applies only to fully qualified servers, that is server channels that have the connection name of the partner specified in the channel definition. A fully qualified server can either be started by a requester, or can initiate a communication with a requester.
The requester starts the channel and the sender terminates the call. The sender then restarts the communication according to information in its channel definition (this is known as callback). It sends messages from the transmission queue to the requester.
This is similar to sender-receiver but applies only to fully qualified servers, that is server channels that have the connection name of the partner specified in the channel definition. Channel startup must be initiated at the server end of the link.
In a cluster, each queue manager has a cluster-sender channel on which it can send cluster information to one of the full repository queue managers. Queue managers can also send messages to other queue managers on cluster-sender channels.
In a cluster, each queue manager has a cluster-receiver channel on which it can receive messages and information about the cluster.