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.
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 optionMQCNO_RECONNECT_AS_DEF
. This is the default value for the property.enabled
- This value corresponds to the IBM MQ optionMQCNO_RECONNECT
.disabled
- This value corresponds to the IBM MQ optionMQCNO_RECONNECT_DISABLED
.queueManager
- This value corresponds to the IBM MQ optionMQCNO_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.