Configuring Microservices Runtime

In general, configuring Microservices Runtime is the same as configuring Integration Server. However, there are differences between Integration Server and Microservices Runtime that result in differences in how each is configured. This topic provides more information about those differences.

For information about configuring Integration Server, see the IBM webMethods Integration Server Administrator’s Guide.

How Is Microservices Runtime Different from Integration Server?

Microservices Runtime is a superset of Integration Server which means that Microservices Runtime provides features and functionality that Integration Server does not. However, in addition to these features, Microservices Runtime differs from Integration Server in the following ways:

  • Microservices Runtime does not support running multiple instances of Microservices Runtime on the same host machine under the same Software AG_directory. As such, the Microservices Runtime directory structure does not include the following directories:

    Integration Server_directory/instances/instanceName

    When reviewing documentation, references to Integration Server_directory/instances/instanceName for Integration Server map to the Integration Server_directory directory in Microservices Runtime.

  • A Microservices Runtime installation does not include the following directory: Software AG_directory/profiles/
  • Microservices Runtime does not use the Java Service Wrapper developed by Tanuki Software, Ltd., Consequently, Microservices Runtime does not use the Java Service Wrapper configuration files wrapper.conf and custom_wrapper.conf for property settings. Instead, Java system properties are set in Integration Server_directory/bin/setenv.bat(sh) using the JAVA_CUSTOM_OPTS property.
  • A JMX port is not enabled by default for Microservices Runtime.
  • Microservices Runtime cannot be run as a Windows service.
  • Features available on a standard Integration Server are optional on a Microservices Runtime. Optional feature are not installed by default on Microservices Runtime and must be selected specifically during the installation of Microservices Runtime.
Note: The information above applies to a Microservices Runtime only. That is, the information does not apply to an Integration Server equipped with a Microservices license. For a detailed comparison of the functionality available in Integration Server vs. Microservices Runtime, see Microservices Runtime vs Integration Server.

Specifying the JDK or JRE for Microservices Runtime

About this task

Microservices Runtime must point to a Java location. By default, Microservices Runtime points to the location of the JRE installed at the same time you installed Microservices Runtime. If necessary, you can specify a different location.

Before you specify the location of Java for Microservices Runtime, determine whether you need to specify the location of the JDK or the JRE. If you intend to use Microservices Runtime to develop and compile Java services on Microservices Runtime, specify the location of the JDK. If you will not be using this installation of Microservices Runtime to compile Java services, you can specify the location of a JRE.

To specify the Java location for Microservices Runtime

Procedure

  1. Edit the setenv.bat/sh file in one of the following ways:
    • In the install\bin folder:

      1. Navigate to Software AG_directory\install\bin and use a text editor to open the setenv.bat/sh file.
      2. Change the JAVA_HOME and JRE_HOME parameters to specify your JDK or JRE installation directory.
        SET JAVA_HOME=<path_to_your_java_installation>
        SET JRE_HOME=<path_to_your_java_installation>
      Note: Changing the location in install\bin causes other products using the same install folder to also use the modified JDK or JRE.
    • In the Integration Server_directory\bin folder:

      1. Navigate to Integration Server_directory\bin and use a text editor to open the setenv.bat/sh file.
      2. Set the value for JAVA_HOME and JRE_HOME to specify your JDK or JRE installation directory explicitly before the code to set JAVA_DIR.
        SET JAVA_HOME=<path_to_your_java_installation>
        SET JRE_HOME=<path_to_your_java_installation>
        IF "%JRE_HOME%" == "" (
            SET JAVA_DIR="%JAVADIR%"
        ) ELSE (
            SET JAVA_DIR="%JRE_HOME%"
        )
  2. Save and close the file.
  3. Restart Microservices Runtime.

Results

Note: If you change the Java location and you use Microservices Runtime to develop and compile Java services, you must also change the value of the watt.server.compile configuration parameter.

Changing the JVM Heap Size Used by Microservices Runtime

About this task

The JVM heap or on-heap size indicates how much memory is allotted for server processes. At some point, you might need to increase the minimum and maximum heap size to ensure that the JVM that Microservices Runtime uses does not run out of memory. You will want to consider the heap size when you configure your server to publish and subscribe to documents and when you configure an on-heap cache.

The heap size is controlled by the following Java parameters specified in the setenv.bat/sh file.
Parameter Description
JAVA_MIN_MEM The minimum heap size. The default value is 256 MB.
JAVA_MAX_MEM The maximum heap size. The default value is 1024 MB.

Your capacity planning and performance analysis should indicate whether you need to set higher maximum and minimum heap size values.

Note: You can change the heap size for Microservices Runtime at start up by starting Microservices Runtime from the command line and supplying the JAVA_MAX_MEM and JAVA_MIN_MEM environment variables. Using the environment variables allows you to override the values set for Microservices Runtime in the Integration Server_directory/bin/setenv.bat|sh file without having to edit the file itself.

To change the heap size for Microservices Runtime

Procedure

  1. Navigate to Integration Server_directory/bin and use a text editor to open the setenv.bat/sh file.
  2. Set the JAVA_MIN_MEM and JAVA_MAX_MEM parameters so that they specify the minimum and maximum heap size required by Microservices Runtime.
  3. Save the file.
  4. Restart Microservices Runtime.

Passing Java System Properties to Microservices Runtime

About this task

You can pass Java system properties to Microservices Runtime by modifying the setenv.bat/sh file.

To pass Java system properties to Microservices Runtime

Procedure

  1. Navigate to Integration Server_directory/bin and use a text editor to open the setenv.bat/sh file.
  2. Set the JAVA_CUSTOM_OPTS parameter so that it specifies the property name and value you want to pass to Microservices Runtime. The property name must be preceded by -D.

    For example, the JAVA_CUSTOM_OPTS parameter in the setenv.bat file could look similar to the following:

    set JAVA_CUSTOM_OPTS="-Dmy.prop1=value1 -Dmy.prop2=value2"

  3. Save the file.
  4. Restart Microservices Runtime for the changes to take effect.

Enabling Remote Client JMX Monitoring

About this task

Microservices Runtime enables you to use JMX monitoring from a remote client. You enable JMX monitoring and set the JMX monitoring remote port in the setenv.bat/sh file of the Microservices Runtime you want to monitor. Unlike Integration Server, Microservices Runtime does not enable JMX monitoring by default.

To enable remote client JMX monitoring on Microservices Runtime

Procedure

  1. On the Microservices Runtime that you want to monitor remotely, navigate to Integration Server_directory/bin and use a text editor to open the setenv.bat/sh file.
  2. Set the JMX_ENABLED property to true.
  3. Set the JMX_PORT property to the port number of the JMX port. This is 9192 by default.
  4. Restart Microservices Runtime.

Configuration of Additional Components

The following table identifies additional components that you might have installed with Microservices Runtime and provides the name of the guide that contains more information about configuring the component.

Component See this guide for more information
Common Directory Service Support IBM webMethods Integration Server Administrator’s Guide
External RDBMS Support IBM webMethods Integration Server Administrator’s Guide