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

Set up your command environment, as described in Setting up a command environment.

About this task

When you create 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. Or 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 a work directory for the integration server. 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 extra 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 set in the integration server's server.conf.yaml file (<work directory>/server.conf.yaml).

If a property is set in the integration server's server.conf.yaml file, and also in the overrides directory (/overrides/server.conf.yaml), the property value that is set in the overrides directory is used. Therefore, if an integration server is not using the expected settings, check whether the expected property value in the server.conf.yaml file in the overrides directory is overridden by a command. To manually override settings that result from commands, either edit the property in the server.conf.yaml file in the overrides directory, or remove the entry from the overrides directory and modify the base server.conf.yaml file.

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 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 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 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 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 double-click the file in the Application Development view or right-click the file and select Open with > YAML editor. If you edit the file by using a plain text editor, 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.

  3. Modify the properties that you want to change in the file. All properties are described in the YAML file.
    For example, you might modify the following properties.
    • 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 an 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 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 set in the integration server's server.conf.yaml file (<work directory>/server.conf.yaml). To manually override settings that result from commands, either edit the property in the server.conf.yaml file in the overrides directory, or remove the entry from the overrides directory and modify the base server.conf.yaml file.

  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 can 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, as shown in the following 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 adding the BAR file to the run folder of the integration server's work directory. For more 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 a YAML parsing error caused the failure. 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.