Configuring an integration server to use a remote default queue manager

You can configure an independent integration server to connect to a default queue manager on a remote machine that is running IBM® MQ.

Before you begin

About this task

In IBM App Connect Enterprise, interactions between an independent integration server and IBM MQ can use a client connection to a remote queue manager, by using a default policy setting.

You can configure an independent integration server to use a remote default queue manager by setting the remoteDefaultQueueManager property in the server.conf.yaml file. This property enables an MQEndpoint policy to be used to specify an MQ client connection, which is then used by default when a connection to IBM MQ is made. You can use the replacementQueuePrefix property in the server.conf.yaml file to configure the integration server to use the specified prefix instead of the usual SYSTEM.BROKER. queue prefix for MQ queues.

For more information about using a remote default queue manager, see Using a remote default queue manager. For more information about IBM MQ, see the IBM MQ product documentation online.

Procedure

Configure an independent integration server to use a remote default queue manager, by completing the following steps:

  1. Create an MQEndpoint policy, as described in Creating policies with the IBM App Connect Enterprise Toolkit. Set the Connection property to Client, and specify values for the Queue manager name, Queue manager host name, Listener port number, and Channel name properties.
    For more information about the properties that you can set in an MQEndpoint policy, see MQEndpoint policy.
  2. Deploy the policy project to the work directory for the integration server, either by using the mqsibar command to deploy the BAR file that contains the policy project, or by copying the .policyxml file into the run sub-directory of the integration server work directory, in a sub-directory that has the name of the policy project.
  3. Set up any security credentials that are required for the remote queue manager connection, as described in Connecting to a secured IBM MQ queue manager.
  4. Configure the integration server to use the remote default queue manager, by modifying the integration server's server.conf.yaml file:
    1. Open the server.conf.yaml configuration file for your integration server, by using a YAML editor.

      If you do not have access to a YAML editor, you can edit the file by using a plain text editor; however, you must ensure that you do not include any tab characters, which are not valid in YAML and would cause your configuration to fail. If you are using a plain text editor, ensure that you use a YAML validation tool to validate the content of your file.

      The server.conf.yaml file for an independent integration server is located in the root of the integration server's work directory (<work directory>/server.conf.yaml).

    2. Specify the remote default queue manager to be used for the integration server, by setting the remoteDefaultQueueManager property to the policy name and project of the MQEndpoint policy that you created in step 1, in the format {policyProjectName}:policyName; for example:
      remoteDefaultQueueManager: '{myPolicyProject}:policy1'
    3. Optional: If the queue manager is shared by multiple integration servers, you can use the replacementQueuePrefix property to specify a unique queue prefix for each integration server, to prevent them from sharing the same queues. Specify this property in the format replacementQueuePrefix: 'MYPREFIX1'. This prefix then replaces the SYSTEM.BROKER. section of each queue name.

      If the required App Connect Enterprise queues have not already been created on the remote queue manager, and if security restrictions prevent the integration server from creating those queues, you can create them by running the iib_createqueues command, as described in Creating the default system queues on an IBM MQ queue manager. If you are using non-default queue names (by specifying a replacement queue prefix), you must modify the queue names in the sample MQSC script iib_queues_create.mqsc, which is used by the iib_createqueues command to define the queues.

    4. Save the modified server.conf.yaml file.
    For more information about configuring an integration server by setting properties in the server.conf.yaml file, see Configuring an integration server by modifying the server.conf.yaml file.
  5. Restart the integration server for the changes to take effect.