The server_*.xml configuration file sets up the environment for the
web servers in your cluster.
The
IBM® Spectrum Symphony cluster
includes the following web servers:
- The web server for the cluster management console and multicluster
cluster management console (available with
IBM Spectrum Symphony Advanced Edition).
- The REST web server, which hosts the RESTful APIs relating to resource management, package
deployment, and MapReduce.
Location
This file is installed with
IBM Spectrum Symphony at the following locations
for each web server in your cluster:
- WEBGUI web server:
$EGO_CONFDIR/../../gui/conf/server_gui.xml on Linux® or %EGO_CONFDIR%\..\..\gui\conf\server_gui.xml on Windows.
- REST web server: $EGO_CONFDIR/server_rest.xml on Linux or %EGO_CONFDIR%\server_rest.xml on
Windows.
Elements and attributes
This sections lists elements for a minimal
configuration in the server_*.xml files. For a complete list of supported
elements, see server configuration documentation.
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:
- javax.sql.ConnectionPoolDataSource
- javax.sql.DataSource
- 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:
Linux:
- WEBGUI web server:
$EGO_TOP/wlp/user/servers/gui/server.xml
- rest web server:
$EGO_TOP/wlp/usr/servers/rest/server.xml
Windows:
- WEBGUI web server: Installation_top\wlp\user\servers\gui\server.xml
- rest web server: Installation_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
- rest web server: 8180
- httpsPort
- Optional
- Description: The port used for client HTTP requests secured with
TLS. Use -1 to disable this port.
- Default:
- WEBGUI web server: 8443
- rest web server: 8543
httpSession
Specifies configuration properties for HTTP session management.
- invalidationTimeout
- Required
- Description: Amount of time, that a session can go unused, before it is no longer valid.
The system will clean up session information and then invalidate the session in after the amount of
time specified for this value. Ensure that the value of invalidationTimeout is
equal to or greater than the value of SessionExpireTimeout (set in the
pmc_conf_ego.xml file). By default, invalidationTimeout is
120 minutes in this server_gui.xml file.
Specify a positive
integer followed by a unit of time, which can be hours (h), minutes (m), or seconds (s). For
example, specify 30 seconds as 30s. You can include multiple values in a
single entry. For example, specifying 1m30s is equivalent to 90 seconds. Do
not specify only a value, without units.
See Changing the session timeout value for the cluster management console for details on
changing the SessionExpireTimeout value.
- Default: 120m
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 TLS on a server.
ssl
Specifies a TLS repertoire with an ID and a defined keystore.
- id
- Required
- Description: A unique name for the TLS configuration
object.
- Valid value: string
- keystoreref
- Required
- Description: A keystore containing key entries for the TLS
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:
TLS handshake protocol.
- Valid value: string
keystore
Specifies a repository of security certificates used for TLS
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 TLS minimal configuration, the location of the file is assumed
to be
EGO_TOP/wlp/usr/servers/web_server_name/resources/security/key.jks
on Linux or Installation_top\wlp\usr\servers\web_server_name\resources/security/key.jks on Windows, where web_server_name could be
webgui 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
on Linux or Installation_top\wlp\usr\servers\web_server_name\log\service_message.log
on Windows, where:
- web_server_name could be:
- webgui for the cluster management console web server.
- rest for the rest web server.
- service_message.log could be:
- webgui for the cluster management console 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"/>
<!-- To configure the cluster management console session timeout-->
<httpSession invalidationTimeout= "120"/>
<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>