Configuring connections to IBM MQ

You can configure a local or client connection to IBM® MQ to enable your IBM App Connect Enterprise message flows to access messages on IBM MQ queues.

If you intend to use an integration node (or an integration server that is managed by an integration node) to process IBM MQ messages, you must install IBM MQ in addition to installing IBM App Connect Enterprise. If you want to connect to a remote queue manager to process IBM MQ messages, you must install either an MQ Client or an MQ Server on the same machine as IBM App Connect Enterprise, in addition to installing an MQ Server on the machine that is running your queue manager. IBM MQ is available as a separate installation package, and your IBM App Connect Enterprise license entitles you to install and use IBM MQ with IBM App Connect Enterprise. For more information, see Enhanced flexibility in interactions with IBM MQ and Installing IBM MQ.

Alternatively, if you are using an independent integration server, you can configure a remote default queue manager to process the IBM MQ messages, by specifying the name of an MQEndpoint policy in the server.conf.yaml configuration file for the integration server. For more information, see Configuring an integration server to use a remote default queue manager.

You can configure MQ Connection properties on the following nodes to specify a local or client connection with IBM MQ: You can also specify the properties through an MQEndpoint policy.

You can connect to a secured IBM MQ queue manager (local or remote), by passing a user name and password to the queue manager when the connection is made. You can also choose whether to use the SSL protocol when a client connection is made to a remote queue manager. For information about securing connections to IBM MQ, see Connecting to a secured IBM MQ queue manager.

You can choose to configure either a local or client connection between your integration node and your queue manager, depending on the configuration of your existing architecture. If your queue manager is running on the same machine as your integration node, you can specify a local connection, either by choosing a specific queue manager to be used for the MQ node or by using the queue manager that is specified on the integration node. Alternatively, if IBM MQ is installed on separate machines from IBM App Connect Enterprise, you can define a client connection, either by configuring the connection details on the MQ node or policy, or by specifying a client channel definition table (CCDT) to control the client connection information. For more information, see Configuring a client connection to IBM MQ.

You can specify either a local or client connection by using one of the following methods:
  • Set explicit connection properties for a specific MQ node on the MQ Connection tab.
  • Specify an MQEndpoint policy to control connection properties for one or more MQ nodes on the Policy tab.

An MQEndpoint policy dynamically controls the connection properties that are applied at run time. You can use a single MQEndpoint policy for multiple MQ nodes, so that when you update the connection properties in the MQEndpoint policy, the updated properties are automatically applied to all MQ nodes that have the policy attached.

You can also configure an independent integration server to use a remote default queue manager for interactions with IBM MQ, by specifying the name of an MQEndpoint policy in the remoteDefaultQueueManager property in the integration server's server.conf.yaml file. This property enables the connection details that are set in the MQEndpoint policy to be used by default when connections to IBM MQ are required by flows that are deployed to the integration server. For more information, see Using a remote default queue manager and Configuring an integration server to use a remote default queue manager.

All MQ nodes that do not have either MQ Connection properties set, or an MQEndpoint policy specified, use the connection details of the queue manager that is associated with the integration node or server at run time. If no queue manager was specified for the integration node, the message flow cannot deploy.

If you want to set explicit connection properties, select a value for the Connection property on the MQ Connection tab:
  • Select Local queue manager to specify a local connection to a named queue manager, which is specified in the Destination queue manager name property.
  • Select MQ client connection properties to choose a client connection to a queue manager, and specify the connection details of the queue manager in the following properties:
    • Queue manager host name
    • Listener port number
    • Channel name
    • Destination queue manager name
  • Select Connect with CCDT to use the client connection details that are specified in a client channel definition table (CCDT).

By default, a thread that is processing IBM MQ messages becomes idle when it has not received any messages on its input queue for 1 minute, at which point the connection times out. However, you can change the length of time after which a connection for an idle message flow is released, by setting the sharedConnectorIdleTimeout property of the mqsichangeproperties command. For more information, see IBM MQ connections.