Configuring a client connection to IBM MQ

On distributed systems, you can configure a client connection to IBM® MQ by defining a connection channel and listener on IBM MQ and setting the MQ Connection properties of the MQ node on IBM App Connect Enterprise.

Before you begin

Complete the following tasks:
  • Read the topic Configuring connections to IBM MQ.
  • Ensure that the required queue manager has been created on the IBM MQ server.
  • Ensure that the user ID that is running the integration node has the necessary permissions to access the queue manager.
  • Decide how you want to connect to the queue manager. You can either configure the connection properties on the MQ Connection tab of the MQ node (such as the MQInput node), or you can specify an MQEndpoint policy on the Policy tab. The properties set in the MQEndpoint policy override the connection properties on the node at run time. The steps in this topic explain how to configure connections by using the properties on the MQ Connection tab. For information about the properties that you can set in a policy, see MQEndpoint policy.

    For independent integration servers, you can configure 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 specified in the MQEndpoint policy to be used by default when MQ connections 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.

About this task

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.

If IBM MQ is running on a separate machine from IBM App Connect Enterprise, you can configure a client connection so that your integration node or server can access messages on the remote queue managers.

You can define a client connection on the MQ node either by specifying the connection details of the queue manager explicitly, through the MQ client connection properties, or by selecting the Connect with CCDT property to use a client channel definition table (CCDT) that contains the details of the connection. The MQ Connection properties are available on the following MQ nodes:
  • MQInput
  • MQOutput
  • MQGet
  • MQReply

Procedure

You configure a client connection by configuring the connection channel and listener on IBM MQ, and setting the MQ Connection properties on IBM App Connect Enterprise.

On the machine that is running your IBM MQ queue manager:

  1. Define a server-connection channel for the queue manager, and ensure that the number of shared conversations is set to a minimum of 10.
    The number of conversations that can share a TCP/IP connection is specified by the SHARECNV property on the IBM MQ channel, and the default for this property is 10. If too few shared conversations are defined on the channel, errors can occur when the MQ node attempts to connect to the queue. For information about how to define a channel, see the IBM MQ product documentation online.
  2. Define a TCP/IP listener.
    For information about how to define a listener, see the IBM MQ product documentation online.

Define the client connections on the machine that is running your integration server:

  1. Decide how you want to define the connections to the queue manager.
    You can either configure them on the MQ Connection tab of the MQ node, or you can control them by using an MQEndpoint policy, specified on the Policy tab. The remaining steps in this topic explain how to configure connections by using the properties on the MQ Connection tab. For information about the MQ connection properties that you can set in a policy, see MQEndpoint policy.
  2. On the MQ Connection tab, choose one of the following options for the Connection property:
    • Select MQ client connection properties to make a client connection to the queue manager by explicitly specifying the connection details of the target queue manager. Specify the following connection properties for the target queue manager:
      • Queue manager host name
      • Listener port number
      • Channel name
      • Destination queue manager name
  3. Optional: optionalConfigure the connection to use a security identity for authentication, SSL for confidentiality, or both, by completing the steps described in Connecting to a secured IBM MQ queue manager.

What to do next

All IBM MQ connections remain open until one of the following events occurs:
  • An error occurs while the queue manager is being accessed, and a new connection is required as a result.
  • The message flow is stopped.
  • The message flow is idle for a time that exceeds the timeout threshold set for the connection. By default, this threshold is set to 1 minute; however, you can change the threshold by setting the sharedConnectorIdleTimeout property of the mqsichangeproperties command. For more information, see IBM MQ connections.

If you later decide that you want to control connection properties by using an MQEndpoint policy, property values that are set on the MQ Connection tab are ignored when a policy is attached to the message flow node.