Channels

Channel is like a logical communication link between two parties. There are two types of channels present in IBM MQ.

1. Message Channels

  • connects two Queue managers(QM) using MCA(Message Channel Agent)
  • Uni-Directional
  • Both channels defined at two Queue managers(QM) should have identical names.
  • Widely used protocol is TCP/IP

Possible subtypes of Message channels

1. Sender -Receiver channel

  • Used to send messages from one QM to other QM.
  • Sender and Receiver channel names must be same.

Syntax

Sender channel:

DEFINE CHANNEL ('channel.name') CHLTYPE(SDR) DESCR('description') TRPTYPE(TCP) XMITQ(xmitq.name) CONNAME('hostname(portno)') 

Receiver channel:

DEFINE CHANNEL ('channel.name') CHLTYPE(RCVR) DESCR('description')

2. Server - Requester channel

  • Used to send messages from one QM to other QM.
  • Sender and Requester channel names must be same.
  • You can also use Server-Receiver channels
  • Requester can initiate the communication

Syntax

Server:

DEFINE CHANNEL ('channel.name') CHLTYPE(SVR) DESCR('description') TRPTYPE(TCP)
XMITQ(xmitq.name) CONNAME('hostname(portno)')

Requester:

DEFINE CHANNEL ('channel.name1') CHLTYPE(RQSTR) DESCR('description') CONNAME('hostname(portno)')

3. Cluster sender - Cluster Receiver channel

  • Used to send messages from a cluster queue manager to other queue managers in the cluster.
  • For example, a full repository queue manager sends cluster status like addition/deleting of MQ objects to other Queue managers using this type of channels.

Syntax

Cluster Sender channel:

DEFINE CHANNEL ('channel.name') CHLTYPE(CLUSSDR) TRPTYPE(TCP) CONNAME('hostname(portno)') CLUSTER('cluster.name')

Cluster Receiver channel:

DEFINE CHANNEL ('channel.name') CHLTYPE(CLUSRCVR) DESCR('description') CLUSTER('cluster.name') CONNAME('hostname(portno)')

2. MQI channels

  • These channels are used to connect a IBM MQ Client to a Queue manager or IBM MQ Server.
  • Bi-Directional

1. Server connection channel

  • Used to connect a IBM MQ client to a IBM MQ server
  • It is a bi-directional channel defined at server end.

Syntax

DEFINE CHANNEL ('channel.name') CHLTYPE(SVRCONN) DESCR('description')

2. Client connection channel

  • Used to connect a IBM MQ client to a IBM MQ server
  • It is a bi-directional channel defined at client end.

Syntax

DEFINE CHANNEL ('channel.name') CHLTYPE(CLNTCONN) CONNAME('hostname(portno)') TRPTYPE(TCP) DESCR('description')