Configuring App Connect Enterprise to use IBM MQ uniform clusters

You can configure IBM® App Connect Enterprise to use queues on an IBM MQ uniform cluster.

About this task

A uniform cluster is a specific pattern of an IBM MQ cluster that provides a highly available and horizontally scaled small collection of queue managers. In scenarios in which one-way messaging is required, it can be useful to use queues that are defined on an IBM MQ uniform cluster. For more information about IBM MQ uniform clusters, see Using queues on an IBM MQ uniform cluster.

When messages are running through a non-transactional message flow, if the connection is moved part of the way through the flow to another queue manager in the uniform cluster, the flow continues to operate. Messages that are sent before and after the reconnection might be delivered to different queue managers. This can occur even for separate message flow node instances in the same flow.

In a transactional message flow, if the connection is moved part of the way through the flow to another queue manager in the uniform cluster, the transaction is rolled back and an exception is thrown from the next MQ call, and the backed out message is still on the original queue manager. When the connection has been re-established, the backed out message is available to be processed again, typically in another instance of the application. Optionally, you can catch and ignore the exception, at which point your message flow can continue to do more work on the re-established connection, committing only the work after the connection was re-established.

If a connection is moved to another queue manager in the uniform cluster when a message flow is idle (polling on MQGET without receiving a message), the integration server reconnects to the new queue manager and then continues to poll.

The following sections explain how you can configure IBM MQ to connect App Connect Enterprise to a uniform cluster, and how you can configure App Connect Enterprise to use a connection to an IBM MQ uniform cluster, by using an MQEndpoint policy:

Configuring IBM MQ to connect App Connect Enterprise to a uniform cluster

About this task

You can connect IBM App Connect Enterprise to an IBM MQ uniform cluster by configuring the connection in IBM MQ. To configure the connection in IBM MQ, configure Client Channel Definition Table (CCDT), and then set either the MQCLNTCF environment variable or configure the mqclient.ini file to control the MQ Client code. For more information, see the IBM MQ product documentation online.

Configuring IBM App Connect Enterprise to connect to a uniform cluster

About this task

You can configure App Connect Enterprise to use a connection to an IBM MQ uniform cluster by using the Reconnect option property on the MQEndpoint policy. This property enables you to control whether the IBM MQ client automatically attempts to reconnect to the queue manager if the connection is lost. By default, the IBM MQ client's default reconnection strategy is used, modified by using the IBM MQ client configuration described in Configuring IBM MQ to connect App Connect Enterprise to a uniform cluster.

The Reconnect option property is used only for client connections and is ignored for server connections. The property takes the following possible values:

  • default - This value corresponds to the IBM MQ option MQCNO_RECONNECT_AS_DEF. This is the default value for the property.
  • enabled - This value corresponds to the IBM MQ option MQCNO_RECONNECT.
  • disabled - This value corresponds to the IBM MQ option MQCNO_RECONNECT_DISABLED.
  • queueManager - This value corresponds to the IBM MQ option MQCNO_RECONNECT_Q_MGR.

These values are passed to the IBM MQ client in the MQCONNX call, which is made by an MQInput node at the start of a message flow. This type of configuration enables you to use different reconnection settings for different deployments to the same integration server, which can be configured to use different MQEndpoint policies. For more information, see MQEndpoint policy.

As a result of the mappings between the App Connect Enterprise reconnect settings and the MQCNO options, you must ensure that the options that you select on the MQ nodes do not conflict with your chosen MQCNO option. If the Logical order property is set on the MQInput node, it conflicts with the Reconnect option property being set to Enabled in the MQEndpoint policy (which corresponds to the IBM MQ option MQCNO_RECONNECT). This conflict can cause MQGET and MQPUT calls to fail with reason code 2547 (MQRC_RECONNECT_INCOMPATIBLE). For this reason, when the Reconnect option property in the MQEndpoint policy is enabled, the MQInput node Logical order property (which is set by default) is ignored and a BIP6125 warning issued. Other nodes such as the MQGet node can also request logical ordering, and in those cases the MQGET call will fail.