server_*.xml reference

The server_*.xml configuration file sets up the environment for the web servers in your cluster.

The IBM® Spectrum ConductorIBM Spectrum Conductor cluster includes the following web servers:
  • The web server for the cluster management console.
  • The web servers for the IBM Spectrum Conductor RESTful APIs:
    • The ascd web server, which hosts the RESTful APIs relating to Spark instance group management.
    • The REST web server, which hosts the RESTful APIs relating to resource management and service package deployment.

Location

This file is installed with IBM Spectrum Conductor at the following locations for each web server in your cluster:
  • WEBGUI web server: $EGO_CONFDIR/../../gui/conf/server_gui.xml.
  • ascd web server: $EGO_CONFDIR/../../ascd/conf/server_ascd.xml.
  • REST web server: $EGO_CONFDIR/server_rest.xml.

Elements and attributes

This sections lists elements for a minimal configuration in the server_*.xml files.

dataSource

Defines a data source configuration.
jndiName
Required
Description: JNDI name for a data source.
Valid value: string
jdbcDriverRef
Optional
Description: JDBC driver for a data source.
Valid value: Configuration ID of type jdbcDriver (string).
type
Optional
Description: Type of data source.
Valid values: string, which could be:
  • javax.sql.XADataSource: JDBC driver implementation of javax.sql.XADataSource. This type of data source is both enabled for connection pooling and is able to participate as a two-phase capable resource in transactions involving multiple resources.
  • javax.sql.ConnectionPoolDataSource: JDBC driver implementation of javax.sql.ConnectionPoolDataSource. This is the basic form of a data source. It does not provide interoperability that enhances connection pooling, and cannot participate as a two-phase capable resource in transactions involving multiple resources.
  • javax.sql.DataSource: JDBC driver implementation of javax.sql.DataSource. This type of data source is enabled for connection pooling. It cannot participate as a two-phase capable resource in transactions involving multiple resources.
If you do not specify the type of data source, the Liberty profile chooses in the following order depending on which is available:
  1. javax.sql.ConnectionPoolDataSource
  2. javax.sql.DataSource
  3. javax.sql.XADataSource

fileset

Specifies a set of files starting from a base directory and matching a set of patterns.
dir
Required
Description: The base directory to search for files.
Default: ${server.config.dir}
Valid value: string
includes
Optional
Description: The comma- or space-separated list of file name patterns to include in the search results.
Default: *
Valid value: string
excludes
Optional
Description: The comma- or space-separated list of file name patterns to exclude from the search results.
Default: No files are excluded.
Valid value: string

httpEndpoint

Specifies configuration properties for an HTTP endpoint.
Important: Ensure that the port numbers specified in this section are free and not used by any other service.
host
Optional
Description: IP address, domain name server (DNS) host name with domain name suffix, or just the DNS host name, used by a client to request a resource. In a shared environment for high availability, use * for all available network interfaces.
For multihomed systems:

If your cluster includes multihomed systems (with multiple NICs and multiple mapped host names for example), update the server.xml file on each host with multiple NICs to specify the default host name by which the Liberty server is identified. To set this configuration, add the defaultHostName variable to the server.xml file on the host, and specify its value as the fully qualified host name (without any wildcards). For example: <variable name="defaultHostName" value="localhost"/>, where localhost is the host name or IP address of the host.

The server.xml file for each web server is at the following location:

  • WEBGUI web server: $EGO_TOP/wlp/user/servers/gui/server.xml
  • ascd web server: $EGO_TOP/wlp/usr/servers/ascd/server.xml
  • rest web server: $EGO_TOP/wlp/usr/servers/rest/server.xml
Default: *
Valid value: string
httpPort
Optional
Description: The port used for client HTTP requests. Use -1 to disable this port.
Default:
  • WEBGUI web server: 8080
  • ascd web server: 8280
  • rest web server: 8180
httpsPort
Optional
Description: The port used for client HTTP requests secured with SSL. Use -1 to disable this port.
Default:
  • WEBGUI web server: 8443
  • ascd web server: 8643
  • rest web server: 8543

jdbcdriver

Identifies a JDBC driver.
libraryref
Optional
Description: Identifies JDBC driver JARs and native files.
Valid value: Configuration ID of type library (string).
javax.sql.XADataSource
Optional
Description: JDBC driver implementation of javax.sql.XADataSource. This type of data source is both enabled for connection pooling and is able to participate as a two-phase capable resource in transactions involving multiple resources.
Valid value: string.
javax.sql.ConnectionPoolDataSource
Optional
Description: JDBC driver implementation of javax.sql.ConnectionPoolDataSource. This is the basic form of a data source. It does not provide interoperability that enhances connection pooling, and cannot participate as a two-phase capable resource in transactions involving multiple resources.
Valid value: string.
javax.sql.DataSource
Optional
Description: JDBC driver implementation of javax.sql.DataSource. This type of data source is enabled for connection pooling. It cannot participate as a two-phase capable resource in transactions involving multiple resources.
Valid value: string.

ssl-1.0

Enables SSL on a server.

ssl

Specifies an SSL repertoire with an ID and a defined keystore.
id
Required
Description: A unique name for the SSL configuration object.
Valid value: string
keystoreref
Required
Description: A keystore containing key entries for the SSL repertoire.
Valid value: string
sslprotocol
Note: The sslprotocol attribute is set to sslProtocol="${https.protocols}" in the server_gui.xml file. Do not change the value of the sslprotocol attribute.
Required
Description: SSL handshake protocol.
Valid value: string

keystore

Specifies a repository of security certificates used for SSL encryption.
id
Required
Description: A unique identifier for the keystore object.
Valid value: string
password
Required
Description: The password used to load the keystore file. The value can be stored in clear text or encoded form. Use the securityUtility tool to encode the password.
Valid value: string
location
Optional
Description: The keystore file name. An absolute or relative path to the keystore file. In the SSL minimal configuration, the location of the file is assumed to be EGO_TOP/wlp/usr/servers/web_server_name/resources/security/key.jks, where web_server_name could be webgui, ascd, or rest.
Valid value: string
type
Optional
Description: Type of the keystore.
Default: jks
Valid value: string
monitorInterval
Optional
Description: The rate at which the server checks for updates to the keystore file.
Default: 0ms
Valid value: integer

logging

Controls the capture and output of log and trace messages.

maxFileSize
Optional
Description: Maximum size of a log file, in megabytes, before being rolled over; a value of 0 means no limit.
Default: 20
Valid value: integer
maxFiles
Optional
Description: Maximum number of log files that will be kept, before the oldest file is removed; a value of 0 means no limit.
Default: 2
Valid value: integer
logDirectory
Optional
Description: Location of the directory for log files.
Default: $EGO_TOP/wlp/usr/servers/web_server_name/log/service_message.log, where:
  • web_server_name could be:
    • webgui for the cluster management console web server.
    • ascd for the ascd web server.
    • rest for the rest web server.
  • service_message.log could be:
    • webgui for the cluster management console log.
    • ascd for the ascd log.
    • rest for the rest log.
Valid value: string
consoleLogLevel
Optional
Description: The logging level used to filter messages written to system streams.
Default: audit
Valid values:
  • INFO: Info, audit, and warning messages are written to the system output stream. Error messages are written to the system error stream.
  • AUDIT: Audit and warning messages are written to the system output stream. Error messages are written to the system error stream.
  • WARNING: Warning messages are written to the system output stream. Error messages are written to the system error stream.
  • ERROR: Error messages are written to the system error stream.
  • OFF: No server output are written to system streams. Only JVM output is written to system streams.

Example

<server description="Platform REST Server">

    <!-- Enable features -->
    <featureManager>
        <feature>jsp-2.2</feature>
        <feature>ssl-1.0>/feature>  
        <feature>localConnector-1.0</feature>
        <feature>jaxrs-1.1</feature>
    </featureManager>

    <!-- To access this server from a remote client add a host attribute to the following element, e.g. host="*" -->
    <httpEndpoint host = "*" httpPort="8180" httpsPort="8543" id="defaultHttpEndpoint"/>

    <logging consoleLogLevel="INFO"/>

    <!-- default SSL configuration is defaultSSLSettings ->
    <sslDefault sslRef="defaultSSLSettings"/>
    <ssl id="defaultSSLSettings"
         keyStoreRef="defaultKeyStore" sslProtocol="${https.protocols}"/>  
    <keyStore id="defaultKeyStore" 
              location="key.jks"
              password="yourPassword"
              type="JKS" password="defaultPWD"/>
</server>