Message channel agents A message channel agent MCA is a program that controls the sending and receiving of messages. There is one message channel agent at each end of a channel. One MCA takes messages from the transmission queue and puts them on the communication link. The other MCA receives messages and delivers them onto a queue on the remote queue manager. A message channel agent is called a caller MCA if it initiated the communication, otherwise it is called a responder MCA.
|Published (Last):||10 August 2013|
|PDF File Size:||2.90 Mb|
|ePub File Size:||12.82 Mb|
|Price:||Free* [*Free Regsitration Required]|
Message channel agents A message channel agent MCA is a program that controls the sending and receiving of messages. There is one message channel agent at each end of a channel. One MCA takes messages from the transmission queue and puts them on the communication link.
The other MCA receives messages and delivers them onto a queue on the remote queue manager. A message channel agent is called a caller MCA if it initiated the communication, otherwise it is called a responder MCA.
A caller MCA may be associated with a sender, cluster-sender, server fully qualified , or requester channel. A responder MCA may be associated with any type of message channel, except a cluster sender. Transmission queues A transmission queue is a special type of local queue used to store messages before they are transmitted by the MCA to the remote queue manager.
You specify the name of the transmission queue in a remote queue definition, see Remote queue definitions. If you do not specify the name, the queue manager looks for a transmission queue with the same name as the remote queue manager. You can specify the name of a default transmission queue for the queue manager. This is used if you do not specify the name of the transmission queue, and a transmission queue with the same name as the remote queue manager does not exist.
Channel initiators and listeners A channel initiator acts as a trigger monitor for sender channels, because a transmission queue may be defined as a triggered queue. When a message arrives on a transmission queue that satisfies the triggering criteria for that queue, a message is sent to the initiation queue, triggering the channel initiator to start the appropriate sender channel.
You can also start server channels in this way if you specified the connection name of the partner in the channel definition. This means that channels can be started automatically, based upon messages arriving on the appropriate transmission queue. You need a channel listener program to start receiving responder MCAs.
Responder MCAs are started in response to a startup request from the caller MCA; the channel listener detects incoming network requests and starts the associated channel. Figure 9 shows how channel initiators and channel listeners are used.
Figure 9. Channel initiators and listeners The implementation of channel initiators is platform specific. INITQ, which is the initiation queue that is recommended for all the transmission queues. On other platforms, you can start as many channel initiators as you like, specifying a name for the initiation queue for each one. Normally you need only one initiator.
On platforms that support clustering, when you start a queue manager, a channel initiator also is automatically started. The channel initiator is also required for other functions. These are discussed later in this book.
The implementation of channel listeners is platform specific. For more information, see Listeners. If you are using SNA, you do not need a listener program. SNA starts the channel by invoking the receiver program on the remote system. If performance is important in your environment and if the environment is stable, you can choose to run the WebSphere MQ listener as a trusted application as described in Running channels and listeners as trusted applications.
Channel-exit programs If you want to do some additional processing for example, encryption or data compression you can write your own channel-exit programs, or sometimes use SupportPacs. There are six types of channel exit: Security exit Used for security checking, such as authentication of the partner.
Message exit Used for operations on the message, for example, encryption prior to transmission. Send and receive exits Used for operations on split messages, for example, data compression and decompression. Message-retry exit Used when there is a problem putting the message to the destination. Channel auto-definition exit Used to modify the supplied default definition for an automatically defined receiver or server-connection channel.
Transport-retry exit Used to suspend data being sent on a channel when communication is not possible. The sequence of processing is as follows: The security exits are called after the initial data negotiation between both ends of the channel.
These must end successfully for the startup phase to complete and to allow messages to be transferred. The message exit is called by the sending MCA, and then the send exit is called for each part of the message that is transmitted to the receiving MCA. The receiving MCA calls the receive exit when it receives each part of the message, and then calls the message exit when the whole message has been received.
Concepts of intercommunication
Figure 1. A queue manager has a definition for each of its queues, specifying information such as the maximum number of messages allowed on the queue. If the messages are destined for a queue on a remote system, the local queue manager holds them in a message store until it is ready to forward them to the remote queue manager. This can be transparent to the application.
WebSphere MQ V6 Fundamentals