[z/OS]

Messaging flow for JCA message-driven beans with IBM MQ as the messaging provider

The IBM MQ messaging provider uses your IBM MQ system as the provider. The IBM MQ messaging provider supports the JCA Resource Adapter (RA) mechanism. When you install a message-driven bean application you provide an activation specification.

The following figure illustrates the messaging flow for JCA message-driven beans that use IBM MQ as the messaging provider.

The z/OS® WebSphere® Application Server uses a two-part RA that supports "split" message-driven processing. The RA has a listener component which runs in the control region adjunct (CRA) and a dispatcher component which runs in each servant region (SR). The RA dispatcher component drives the application code. For some workloads, WebSphere Application Server can drive workload management directly from the CRA.

Figure 1. IBM MQ: message-driven bean processing
A WebSphere Application Server scalable server installation comprises a control region (CR), a control region adjunct (CRA), and several servant regions (SR). The CR contains an SR aggregator. The CRA contains an IBM MQ Java client, which handles messages from IBM MQ, and an IBM MQ RA listener for workload classification. Each SR contains an IBM MQ Java client, an IBM MQ RA dispatcher, and an EJB container containing a message-driven bean. The installation also has a number of WLM queues. As well as the WebSphere Application Server installation, there is an IBM MQ instance containing an IBM MQ queue where the messages originate. The text following the figure describes the path a message takes through these items.
Processing is as follows:
  1. When a message arrives at the destination, the IBM MQ RA listener receives and classifies a copy of the message.
  2. The IBM MQ RA listener invokes a control region (CR) function known as the SR aggregator.
  3. The SR aggregator uses z/OS workload management (WLM) to pass a message token (not the actual message) to an SR.
  4. The IBM MQ RA dispatcher uses the message token to receive the message and pass it to the onMessage method of the message-driven bean.

Optimization can allow the IBM MQ RA listener to invoke z/OS WLM directly, bypassing the SR aggregator processing in the CR.