Configuring an integration server by modifying the server.conf.yaml file

You can configure your IBM® App Connect Enterprise integration server by modifying properties in a server.conf.yaml configuration file. The location of the server.conf.yaml file that you need to modify depends on whether you are configuring an independent integration server or an integration server that is managed by an integration node.

Before you begin

Ensure that you set up your command environment, as described in Setting up a command environment.

About this task

When you have created an integration server, you set properties in the server.conf.yaml file to configure the operation of the integration server and associated resources. For example, you can set a REST administration port and an HTTPS port, and you can configure the trace level, activity logging, JVM, and the reporting of statistics data for your integration server. You can also configure the integration server to record all messages that pass through a message flow, and then use these recorded messages to generate unit tests.

For an independent integration server, the server.conf.yaml configuration file is created for you automatically when you use the mqsicreateworkdir command to create an integration server work directory. The server.conf.yaml file is created in the root of the specified work directory: <work directory>/server.conf.yaml.

If you use any commands that modify the integration server, an overrides directory is created under the working directory for the integration server. This overrides directory contains an additional server.conf.yaml configuration file, which contains property values that are set by commands; for example, <work directory>/overrides/server.conf.yaml. The values of properties in this overrides/server.conf.yaml file override any values that you have set in the integration server's server.conf.yaml file (<work directory>/server.conf.yaml).

If a property has been set in the integration server's server.conf.yaml file, and also in the overrides directory (/overrides/server.conf.yaml), the property value that has been set in the overrides directory is used. Therefore, if an integration server does not appear to be using the settings that you would expect, check the server.conf.yaml file in the overrides directory to see if your expected property value has been overridden by a command. If you want to manually override the settings that have resulted from a command, you can either edit the property in the server.conf.yaml file in the overrides directory, or you can remove the entry from the overrides directory and modify the base server.conf.yaml file instead.

For integration servers that are managed by an integration node, each server has its own server.conf.yaml configuration file that overrides common settings from the integration node's node.conf.yaml configuration file. When you create an integration node, the node.conf.yaml file is located at: $MQSI_WORKPATH/components/<Node name>/node.conf.yaml.

If you use commands to modify the integration node, the changes are saved in the integration node's override node.conf.yaml file. This file is located at: $MQSI_WORKPATH/components/<Node name>/overrides/node.conf.yaml, as described in Creating an integration node by using the command line. When you create a managed integration server for an integration node, server-specific settings are created for it in its own server.conf.yaml file. The server-specific file is located at: $MQSI_WORKPATH/components/<Node name>/servers/<Server name>/server.conf.yaml.

If you use commands to modify this integration server, the changes are saved in: $MQSI_WORKPATH/components/<Node name>/servers/<Server name>/overrides/server.conf.yaml. The values of properties in this overrides/server.conf.yaml file override any values that you have set in the <Node name>/servers/<Server name>/server.conf.yaml file.

Procedure

  1. If the integration server does not exist already, you can create it by following the instructions in Creating an integration server.
  2. Use a YAML editor to open the server.conf.yaml file.

    You can edit the file by using the built-in YAML editor that is provided in the IBM App Connect Enterprise Toolkit, either by double-clicking the file in the Application Development view or by right-clicking the file and selecting Open with > YAML editor. If you choose to edit the file by using a plain text editor, ensure that you do not include any tab characters (which are not valid in YAML) and use a YAML validation tool to validate the contents of your file.

    For more information about working with YAML, see http://www.yaml.org/start.html.

  3. Modify the properties that you want to change in the file.
    For example:
    • In the RestAdminListener section, set a value for the Port property to be used by the REST administration port, which is the primary method of communicating with the integration server. (Default value of 7600.)
    • In the ResourceManagers / HTTPConnector section, set a value for the ListenerPort so that you can send messages to a flow that is using a HTTPInput node. (Default value of 7800.)
    • In the ResourceManagers / JVM section, set a value for the jvmDebugPort so that you can use the Flow Debugger. For example, set this property to 6511.

    You can also configure the integration server to record all messages that pass through a message flow, by setting properties in the RecordedMessageManager section of the server.conf.yaml file. You can then use these recorded messages to generate unit tests for the flow, as described in Generating tests from recorded messages in a message flow.

  4. Save your changes to the server.conf.yaml file.

    If you run any commands that modify the integration server at any time after you set properties in the server.conf.yaml file, an overrides directory is created under the working directory for the integration server. This overrides directory contains another server.conf.yaml configuration file, which contains property values that are set by commands; for example, <work directory>/overrides/server.conf.yaml. The values of properties in this overrides/server.conf.yaml file override any values that you have set in the integration server's server.conf.yaml file (<work directory>/server.conf.yaml). If you want to manually override the settings that have resulted from a command, you can either edit the property in the server.conf.yaml file in the overrides directory, or you can remove the entry from the overrides directory and modify the base server.conf.yaml file instead.

  5. Specify the security credentials to be used by the integration server when you connect to a secured resource (such as a database).
    • You can configure an independent integration server to connect to secured resources by using credentials that are stored in encrypted form in an App Connect Enterprise vault. You can configure security credentials by using the mqsicredentials command or the administrative REST API. Specify the integration server's work directory that you created in step 1. The encrypted credentials are stored in the integration server's vault, which you configure by using the mqsivault command. For more information, see Configuring encrypted security credentials. For example, to create the integrations server's vault:
      mqsivault --work-dir c:\myaceworkdir --vault-key vaultKey --create
      To configure security credentials:
      mqsicredentials --work-dir c:\myaceworkdir --vault-key vaultkey --create --credential-type jdbc --credential-name secID --username iibuser --password password
    • Alternatively, you can use the mqsisetdbparms command. Use the -w parameter to specify the integration server's work directory that you created in step 1. For example:
      mqsisetdbparms -w c:\myaceworkdir -n jdbc::secID -u iibuser -p password
      When you run this command, the user ID and password are stored securely in the IBM App Connect Enterprise credentials store. For more information about using the mqsisetdbparms command, see mqsisetdbparms command.
  6. Optional: You can configure applications to run when the integration server starts, by pre-loading the BAR file into the run folder of the integration server's work directory. For information, see mqsibar command.
  7. Restart the integration server. The properties that you set in the server.conf.yaml file take effect when the integration server is started. If you modify these properties again, you must start the integration server again for the subsequent changes to take effect. For more information, see Starting an integration server.

    If the integration server fails to restart, check to see whether the failure was caused by a YAML parsing error. For an independent integration server, parsing errors are reported to the stderr log. For an integration server that is managed by an integration node, YAML parsing errors are reported to the integration server's console.txt file. For more information, see Standard system logs.