Mediating a destination using an IBM MQ queue as the mediation point
Mediate a destination using the console to specify an IBM MQ server bus member where the mediation point is to be assigned, and an IBM MQ queue to use as the mediation point where messages are stored. To mediate the destination using a service integration mediation, we must also specify a second bus member (not an IBM MQ server) to use as the mediation execution point and process the messages.
Decide which method to use to configure these resources. We can mediate a destination using the console as described in this task, or using the mediateSIBDestination command.
Before performing this task, ensure that the following resources exist:
- The mediation to apply to the destination.
- The IBM MQ server bus member where the mediation point is to be assigned.
- The IBM MQ queue to use as the mediation point, with the queue attributes set to shareable.
- For a service integration mediation, a second bus member (not an IBM MQ server bus member) to use as the mediation execution point where the mediation code runs.
The queue manager on the IBM MQ network does not have to be available when you complete this task, but the destination is not usable until the queue manager becomes available.
We can mediate a destination with an IBM MQ mediation point. This ensures that messages arriving at the designated IBM MQ queue are mediated. In this scenario, the mediated messages are delivered to the queue point, or to another destination determined by the default forward routing path destination, or by the mediation code. The mediation can be hosted by service integration, or hosted by IBM MQ.
- Start the console.
- Navigate to the list of destinations for the appropriate bus. Click Service integration -> Buses -> bus_name -> [Destination resources] Destinations.
- Select the check box for the destination to mediate, then click Mediate. The Mediation wizard is displayed.
- Step 1: Select mediation.
To mediate the destination using a mediation hosted by service integration:
- Select The mediation to apply to this destination.
- From the drop-down list, select the mediation.
- Click Next.
To mediate the destination using an IBM MQ program (for example, an IBM MQ flow):
- Select Externally mediated.
- Click Next.
- Step 2: Assign the mediation to a bus member.
When a mediation is assigned to an IBM MQ server bus member, we need a separate bus member that is not an IBM MQ server to act as the mediation execution point and process the messages.
- From the drop-down list, select the IBM MQ server bus member where the mediation point is to be assigned.
- Optional: For a service integration mediation, select the bus member where the mediation is to run.
For a mediation hosted by service integration, select a bus member from the list box that is labeled Select a bus member where the mediation will run. For an external mediation, by definition it does not run in a bus member.
- Click Next.
- Optional: If the mediation point is an IBM MQ queue, set the IBM MQ mediation point attributes.
This step is only displayed if you assigned the mediation point to an IBM MQ queue in the previous step.
- Specify a value in the IBM MQ queue name filter field, then click Go.
The wizard automatically discovers available IBM MQ queues. However, some IBM MQ topologies have many thousands of queues defined to a queue manager. Use this filter to limit the number of queues listed.
The default filter value is an asterisk (*). If this value (or no value) is set then all queues, or all queues of a specific type (based on any queue type custom property set), are listed. Any other value specified must meet the following criteria:
- It must contain between 1 and 48 characters.
- It must conform to the IBM MQ queue naming rules (see the Rules for naming IBM MQ objects topic in the IBM MQ information center).
We can also use the wildcard character (*) with other text. For example, if we enter a value of PAYROLL*, then all available queues with names that start with PAYROLL are displayed.
- Specify an IBM MQ queue name.
Select a queue name from the filtered list. If the list does not include the queue you want, select the last entry in the list labeled other, please specify. A text entry box is displayed next to the drop-down list. Type the queue name into the text entry box.
If the queue is found on the remote IBM MQ system, the properties of the queue as defined within IBM MQ are displayed as read-only fields. This should help you to confirm that you have found the queue you want, and that it is configured as we intend. If the queue is not found, these read-only fields are removed from view.
- Specify the reliability levels that you require when inbound nonpersistent and inbound persistent IBM MQ messages are converted to service integration format messages.
- Mediations receive messages direct from the specified IBM MQ queue, so in general the reliability level for a message is of no interest to the mediation because the message has already been delivered successfully. However, the message is converted to a service integration format message (and typically to a JMS format service integration message) as it is received, and this option specifies the reliability level for the service integration format message. For information about the available reliability levels, see IBM MQ queue points [Settings].
- Specify whether you want IBM MQ to include an MQRFH2 message header when sending messages to the queue.
The MQRFH2 header stores service integration messaging information that does not have a corresponding IBM MQ message header field. When a message is sent to the destination, service integration instructs IBM MQ to write the message to the queue. This option specifies whether service integration instructs IBM MQ to write the message with an MQRFH2 header.
If the consumer of the message (in this case, the mediation) is a JMS application running in IBM MQ or service integration, or an IBM MQ XMS application, or an IBM MQ MQI application that expects an MQRFH2 header, select this option. If the mediation is an IBM MQ MQI application that does not expect an MQRFH2 header, do not select this option.
- Click Next.
- Check the summary of the selections, then click Finish to confirm mediation of the destination.
Results
We have mediated a destination using an IBM MQ queue as the mediation point.
Related concepts
IBM MQ queue points and mediation points IBM MQ server and mediated exchange scenarios Mediations
createSIBDestination command createSIBDestinations command mediateSIBDestination command unmediateSIBDestination command
Related information:
A practical introduction to message mediation -- Part 1 A practical introduction to message mediation -- Part 3 A practical introduction to message mediation -- Part 4 A practical introduction to message mediation -- Part 5 Mediation execution points [Collection] Mediation points [Settings] IBM MQ mediation points [Collection] IBM MQ mediation points [Settings] Mediation points [Collection] Mediation points [Collection]