Home

 

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. We 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 1 shows how channel initiators and channel listeners are used.

Figure 1. Channel initiators and listeners

The implementation of channel initiators is platform specific.

The channel initiator is also required for other functions. These are discussed later in this book.

The implementation of channel listeners is platform specific.

By default, threaded channels started by the channel initiator or a listener do not run under that process but under a process called AMQRMPPA, otherwise known as a pool process. To revert to the MQSeries V5.2 behavior and have channels run under the originating process we can define an environment variable MQNOREMPOOL. The existence of this variable, set to any value, will cause the channel threads to run as part of the listener or channel initiator process. This can be useful when trying to isolate one or more channels from the rest of the configuration, for example when testing channel exits.

 

Parent topic:

Distributed queuing components


ic10400_


 

Home