Server properties file

The server properties file contains several properties that define different settings for your server, such as trace settings, logging, and security configuration. The server properties file is used by both catalog service and container servers in both stand-alone servers and servers that are hosted in WebSphere® Application Server.

Sample server properties file

You can use the sampleServer.properties file that is in the wxs_home/properties directory to create your properties file.

Specifying a server properties file

Specifying a setting by using one of the items later in the list overrides the previous setting. For example, if you specify a system property value for the server properties file, the properties in that file override the values in the objectGridServer.properties file that is in the classpath.

Server properties

General properties
diskOverflowCapBytes
Specifies the maximum amount of disk space used by this server for disk overflow, in bytes. The default value specifies that there is no limit on how much is stored on disk.

Default: Long.MAX_VALUE

diskStoragePath
Specifies the absolute path to a directory location used for storing overflow content.
diskOverflowMinDiskSpaceBytes
Specifies that entries will not be moved to disk if there is less than this amount of space free in diskStoragePath, in bytes.

Default: 0

diskOverflowEnabled
Enables the native overflow disk feature. You must enable eXtreme Memory for this feature to work.

Default: false

enableMBeans
Enables ObjectGrid container Managed Beans (MBean). This property applies to both the container server and the catalog service.

Default: true

haManagerPort
Specifies the port used by the High Availability (HA) manager for heartbeat communication between peer container servers. The haManagerPort port is only used for peer-to-peer communication between container servers that are in same domain. If the haManagerPort property is not defined, then an ephemeral port is used. In WebSphere Application Server, this setting is inherited by the high availability manager port configuration.

Default: A dynamic port is chosen.

[Version 8.6 and later] hpelEnable
Specifies if High Performance Extensible Logging (HPEL) is enabled. HPEL logging is enabled when the property is set to true.

Default: false

[Version 8.6 and later] hpelRepositoryPath
Specifies the HPEL logging repository location.

Default: "." (the runtime location)

[Version 8.6 and later] hpelEnablePurgeBySize
Indicates if the HPEL purges log files by size. You can set the size of the files with the hpelMaxRepositorySize property.

Default: true (enabled)

[Version 8.6 and later] hpelEnablePurgeByTime
Indicates if the HPEL purges log files by time. Set the amount of time with the hpelMaxRetentionTime property.

Default: true (enabled)

[Version 8.6 and later] hpelEnableFileSwitch
Indicates if the HPEL file is enabled to create a new file at a specified hour. Use the hpelFileSwitchHour property to specify the hour at which to create a new file.

Default: false (disabled)

[Version 8.6 and later] hpelEnableBuffering
Indicates if the HPEL buffering is enabled.

Default: false (disabled)

[Version 8.6 and later] hpelIncludeTrace
Indicates if the HPEL text files include tracing.

Default: false (disabled)

[Version 8.6 and later] hpelOutOfSpaceAction
Indicates the action to be performed when the disk space has been exceeded.

Default: PurgeOld

Possible values: PurgeOld, StopServer, StopLogging

[Version 8.6 and later] hpelOutputFormat
Indicates the format of the log files to be generated.

Default: Basic

Possible values: Basic, Advanced, CBE-1.0.1

[Version 8.6 and later] hpelMaxRepositorySize
Indicates the maximum size of files, in megabytes. This value is used when you able the hpelEnablePurgeBySize property.

Default: 50

[Version 8.6 and later] hpelMaxRetentionTime
Indicates the maximum retention time to hold files, in hours.

Default: 48

[Version 8.6 and later] hpelFileSwitchHour
Indicates the hour at which to create a new file. This value is used when the hpelEnableFileSwitch property is enabled.

Default: 0

JMXConnectorPort
Defines the Secure Sockets Layer (SSL) port to which the Java Management Extensions (JMX) service binds. Only required if an SSL transport protocol is needed for JMX data.
Note: If you want to collect JMX data, then a JMXServicePort port must also be opened.
Note: If SSL is enabled and a value for JMXConnectorPort is not defined, an ephemeral port is chosen and this port can vary each time that the server is restarted.
JMXServicePort
Required only for WebSphere eXtreme Scale in a stand-alone environment. Specifies the port number on which the MBean server listens for communication with Java Management Extensions (JMX).

Default: 1099

jvmStatsFileName
Specifies the file name of the CSV statistics file for the JVM.

Default: jvmstats

jvmStatsLoggingEnabled
When set to true, enables log data for the JVM to be written to a CSV file.

Default: true

jvmStatsWriteRate
Specifies the write rate of the CSV statistics files for the JVM in writes per second.

Default: 10

listenerHost

Specifies the host name to which the Object Request Broker (ORB) or eXtremeIO (XIO) transport protocol binds for communication. The value must be a fully qualified domain name or IP address. If your configuration involves multiple network cards, set the listener host and port to let the transport mechanism in the JVM know the IP address for which to bind. If you do not specify which IP address to use, symptoms such as connection timeouts, unusual API failures, and clients that seem to hang can occur.

listenerPort (catalog server)
Specifies the port number to which the Object Request Broker or the eXtremeIO (XIO) transport protocol binds for communication. The port number that is defined for listenerPort is used for communication between a client and a catalog server, and communication between a container server and a catalog server that are in the same domain. It is also used for interdomain and intradomain communication between catalog servers.

Default: 2809

Note: When a data grid server is run inside WebSphere Application Server and the ORB transport protocol is being used, another port ORB_LISTENER_ADDRESS must also be opened. The BOOTSTRAP_ADDRESS port forwards requests to this port. If you are using the XIO transport protocol, the XIO_ADDRESS port must be opened.
listenerPort (container server)
Specifies the port number to which the ORB or the XIO transport protocol binds for communication. The port number that is defined for listenerPort is used for bidirectional communication between a client and a container server; and between a catalog server and a container server that are in the same domain. It is also used for intradomain replication between primary and replica shards, and interdomain replication between primary shards.

Default: An ephemeral port is chosen.

Note: When a data grid server is run inside WebSphere Application Server and the ORB transport protocol is being used, another port ORB_LISTENER_ADDRESS must also be opened. The BOOTSTRAP_ADDRESS port forwards requests to this port. If you are using the XIO transport protocol, the XIO_ADDRESS port must be opened.
listenerPort (client)
Specifies the port number to which the ORB or the XIO transport protocol binds for communication. This setting configures the client to communicate with the catalog and container service. If a listener is not configured with the ORB transport protocol, an ephemeral port is chosen at startup. This port can vary each time the client application is started.

Default: An ephemeral port is chosen.

Note: When a data grid client is run inside WebSphere Application Server and the ORB transport protocol is being used, another port ORB_LISTENER_ADDRESS must also be opened. The BOOTSTRAP_ADDRESS port forwards requests to this port.
mapStatsFileName
Specifies the file name of the CSV statistics file for the map.

Default: mapstats

mapStatsLoggingEnabled
When set to true, enables log data for the maps on the server to be written to a CSV file.

Default: true

mapStatsWriteRate
Specifies the write rate of the CSV statistics files for the map in writes per second.

Default: 10

maxJVMStatsFiles
Indicates the maximum number of CSV statistics files that are generated for the JVM.

Default: 5

maxJVMStatsFileSize
Indicates the maximum file size, in megabytes, of the CSV statistics files for the JVM.

Default: 100

maxMapStatsFileSize
Indicates the maximum file size, in megabytes, of the CSV statistics files for the map.

Default: 100

maxOGStatsFiles
Indicates the maximum number of CSV statistics files that are generated for the ObjectGrid instance.

Default: 5

maxOGStatsFileSize
Indicates the maximum file size, in megabytes, of the CSV statistics files for the ObjectGrid instance.

Default: 100

maxMapStatsFiles
Indicates the maximum number of CSV statistics files that are generated for the map.

Default: 5

maxThreads
Specifies the maximum number of threads used by the internal thread pool in the run time for built-in evictors and DataGrid operations.

Default: 50

minThreads
Specifies the minimum number of threads used by the internal thread pool in the run time for built-in evictors and DataGrid operations.

Default: 10

ogStatsFileName
Specifies the file name of the CSV statistics file for the ObjectGrid instance.

Default: ogstats

ogStatsLoggingEnabled
When set to true, enables log data for the ObjectGrid instance on the server to be written to a CSV file.

Default: false

ogStatsWriteRate
Specifies the write rate of the CSV statistics files for the ObjectGrid instance in writes per second.

Default: 10

serverName
Sets the server name that is used to identify the server. This property applies to both the container server and the catalog service.
[Version 8.6 and later] syslogEnabled
Enables remote logging for analysis of historical data. You must have a syslog server available to listen for and capture events.

Default: false

[Version 8.6 and later] syslogHostName
Specifies the host name or IP address of the remote server on which you want to log historical data.
[Version 8.6 and later] syslogHostPort
Specifies the port number of the remote server on which you want to log historical data.

Valid values: 0-65535

Default: 512

[Version 8.6 and later] syslogFacility
Indicates the type of remote logging facility that is being used.

Valid values: kern, user, mail, daemon, auth, syslog, lpr, news, uucp, cron, authpriv, ftp, sys0, sys1, sys2, sys3,local0, local1, local2, local3, local4, local5, local6, local7

Default: user

[Version 8.6 and later] syslogThreshold
Specifies the threshold of the severity of messages that you want to send to the remote logging server. To send both warning and severe messages, enter a value of WARNING. To send severe messages only, enter SEVERE.

Valid values: SEVERE, WARNING

Default: WARNING

systemStreamToFileEnabled
Enables the container to write the SystemOut, SystemErr, and trace output to a file. If this property is set to false, output is not written to a file and is instead written to the console.

Default: true

traceFile

Specifies a file name to write trace information. This property applies to both the container server and the catalog service. Example: ../logs/c4Trace.log

Restriction: The traceFile property is not supported in the Liberty profile.
traceSpec
Enables trace and the trace specification string for the container server. Trace is disabled by default. This property applies to both the container server and the catalog service. Examples:
  • ObjectGrid=all=enabled
  • ObjectGrid*=all=enabled
Restriction: The traceSpec property is not supported in the Liberty profile.
workingDirectory
Specifies the location to where the container server output is written. When this value is not specified, the output is written to a log directory within the current directory. This property applies to both the container server and the catalog service.

Default: no value

[Version 8.6 and later] xioTimeout
Sets the timeout for server requests that are using the IBM eXtremeIO (XIO) transport in seconds. The value can be set to any value greater than or equal to one second.

Default: 30 seconds

zoneName
Set the name of the zone to which the server belongs. This property applies to both the container server and the catalog service.
Container server properties
catalogServiceEndPoints
Specifies the end points to connect to the catalog service domain. This value must be in the form host:port,host:port. The host value is the listenerHost value and the port value is the listenerPort value of the catalog server. This property applies to a container server only.
enableXM
When set to true, enables IBM® eXtremeMemory on the server and configures the server to use IBM eXtremeIO for synchronous and asynchronous replication. Cache entries for eXtremeMemory-compatible maps are stored in native memory instead of on the Java™ heap. All container servers in the data grid must use the same value for the enableXM property.

Default:false

maxXIONetworkThreads
Sets the maximum number of threads to allocate in the eXtremeIO transport network thread pool.

Default:256

maxXIOWorkerThreads
Sets the maximum number of threads to allocate in the eXtremeIO transport request processing thread pool.

Default:256

maxXMSize
Sets the maximum amount of memory, in megabytes, used by the server for eXtremeMemory storage.

Default: 25% of the total memory on the system

memoryThresholdPercentage
Sets the memory threshold for memory-based eviction. The percentage specifies the maximum heap to be used in the Java virtual machine (JVM) before eviction occurs. The default value is -1, which indicates that the memory threshold is not set. If the memoryThresholdPercentage property is set, the MemoryPoolMXBean value is set with the provided value. For more information, see MemoryPoolMXBean interface in the Java API specification. However, eviction occurs only if eviction is enabled on an evictor. To enable memory-based eviction, see Plug-ins for evicting cache objects. This property applies to a container server only.

Default:-1

minXIONetworkThreads
Sets the minimum number of threads to allocate in the eXtremeIO transport network thread pool.

Default:1

minXIOWorkerThreads
Sets the minimum number of threads to allocate in the eXtremeIO transport request processing thread pool.

Default:1

statsSpec
Specifies the statistics specification for the container server.

Examples:

all=disabled : Disables all statistics.

all=enabled : Enables all statistics.

For more information about enabling statistics, see Enabling statistics
xioChannel.xioContainerTCPNonSecure.Port
Deprecated feature[Version 8.6 and later] Deprecated: This property has been deprecated. The value that is specified by the listenerPort property is used instead.
Specifies the non-secure listener port number of eXtremeIO on the server. If you do not set the value, an ephemeral port is used. This property is used only when the transportType property is set to TCP/IP.
Restriction: The xioChannel.xioContainerTCPNonSecure.Port property is not supported in the Liberty profile.
xioChannel.xioContainerTCPSecure.Port
Deprecated feature[Version 8.6 and later] Deprecated: This property has been deprecated. The value that is specified by the listenerPort property is used instead.
Specifies the SSL port number of eXtremeIO on the server. This property is used only when the transportType property is set to SSL-Supported or SSL-Required.
Catalog service properties
catalogClusterEndPoints
For stand-alone configurations only. Specifies a list of catalog service domain end points for the catalog service. This property specifies the catalog service end points to start the catalog service domain. Use the following comma-separated format:
serverName:hostName:clientPort:peerPort,<serverName:hostName:clientPort:peerPort>
serverName
Specifies the name of the catalog server.
hostName
Specifies the host name for the computer where the server is launched.
clientPort
Specifies the port that is used for peer catalog service communication.
peerPort
This value is the same as the haManagerPort. Specifies the port that is used for peer catalog service communication.
This property applies to the catalog service only. If you start additional catalog servers, they must include the same servers in the catalogClusterEndPoints property. The order of the list can be different, but the servers contained in the list must be the same for each catalog server. Do not put any spaces in the list.
[Version 8.6.0.2 and later] compressionType
Specifies the compression type set for a catalog server when data is replicated between catalog servers in the same domain. The compression type can be turned off by setting the compression to None, or it can be set to a different compression type. The default compression type is Compatible. In a large scale environment, (ie. 1000 container servers), changing the compression type can improve the catalog server performance. If you require performance tuning when replicating between larger data sets, then change the compression type to Optimized1. When changing the compression type, the same setting must be used for all catalog servers at start up within the same domain. Valid settings are Compatible, Optimized1 and None.

Default: Compatible

domainName
For stand-alone configurations only. Specifies the domain name that is used to uniquely identify this catalog service domain to clients when routing to multiple domains. This property applies to the catalog service only.
[Version 8.6 and later] enableManagementConcentrator
Specifies if the catalog server is a hub for the message center. This property is enabled by default. To disable the hub, set the value to false.

Default: true

enableQuorum

Enables quorum for the catalog service. Quorum is used to ensure that a majority of the catalog service domain is available before moving partitions on the available container servers. To enable quorum, set the value to true or enabled. The default value is disabled. This property applies to the catalog service only. See Catalog server quorums for more information.

<foreignDomain>.endpoints
Specifies the connection information for the catalog servers of the foreign domains, such as domain B:
For example:
B.endPoints=hostB1:2809, hostB2:2809
If a foreign domain has multiple catalog servers, specify all of them.
foreignDomains
Specifies the names of catalog service domains to which you want to link in a multi-master replication topology. You can specify multiple catalog service domains with a comma-separated list. This property applies to the catalog service only.
foreignDomains=domain2,domain3,domain4
Restriction: The foreignDomains property is not supported in the Liberty profile.
heartBeatFrequencyLevel
Specifies how often a server failover is detected. An aggressive heartbeat interval can be useful when the processes and network are stable. If the network or processes are not optimally configured, heartbeats might be missed, which can result in a false failure detection. The heartbeat frequency level is a trade-off between use of resources and failure discovery time. The more frequently heartbeats occur, more resources are used, but failures are discovered more quickly. This property applies to the catalog service only.
Table 1. Valid heartbeat values
Value Action Description
-1 Aggressive Specifies an aggressive heartbeat level. With this value, failures are detected more quickly, but additional processor and network resources are used. This level is more sensitive to missing heartbeats when the server is busy. Failovers are typically detected within 5 seconds.
[Version 8.6.0.2 and later] -10 Semi-aggressive Failovers are typically detected within 15 seconds.
0 Typical (default) Specifies a heartbeat level at a typical rate. With this value, failover detection occurs at a reasonable rate without overusing resources. Failovers are typically detected within 30 seconds.
[Version 8.6.0.2 and later] 10 Semi-relaxed Failovers are typically detected within 90 seconds.
1 Relaxed Specifies a relaxed heartbeat level. With this value, a decreased heartbeat frequency increases the time to detect failures, but also decreases processor and network use. Failovers are typically detected within 180 seconds.
isCatalog
For stand-alone configurations only. When set to true, the server process automatically starts a catalog service.
Default: false
[Version 8.6 and later] logNotificationFilter
Specifies a regular expression that filters all messages, including the INFO level log messages. This filter determines which messages generate health monitoring events. If you do not specify a regular expression, INFO level log messages are not published through the health monitoring framework. By default, only WARNING and SEVERE level messages generate health monitoring events.

Example: logNotificationFilter=.*DYNACACHE.*

placementDeferralInterval
Specifies the interval in milliseconds for deferring the balancing and placement of work items to the container servers. Increasing the deferral interval lowers processor utilization, but the placement of work items is completed over time. A decrease in the deferral interval increases short-term processor utilization, but the placement of work items is more immediate and expedited.

Default: 15000 ms

[Version 8.6 and later] transport

Specifies the type of transport to use for all the servers in the catalog service domain. You can set the value to XIO or ORB.

When you use the startOgServer or startXsServer commands, you do not need to set this property. The script overrides this property. However, if you start servers with another method, the value of this property is used.

This property applies to the catalog service only.

If you have both the -transport parameter on the start script and the transport server property defined on a catalog server, the value of the -transport parameter is used.

Security server properties

The server properties file is also used to configure eXtreme Scale server security. You use a single server property file to specify both the basic properties and the security properties.
General security properties
credentialAuthentication
Indicates whether this server supports credential authentication. Choose one of the following values:
  • Never: The server does not support credential authentication.
  • Supported: The server supports the credential authentication if the client also supports credential authentication.
  • Required: The client requires credential authentication.
See Authenticating application clients for details about credential authentication.
securityEnabled
Enables the container server security when set to true. The default value is false. This property must match the securityEnabled property that is specified in the objectGridSecurity.xml file that is provided to the catalog server.
Transport layer security settings
transportType
Specifies the server transport type. Use one of the following values:
  • TCP/IP: Indicates that the server supports TCP/IP connections only.
  • SSL-Supported: Indicates that the server supports both TCP/IP and Secure Sockets Layer (SSL) connections. (Default)
  • SSL-Required: Indicates that the server requires SSL connections.
SSL configuration properties
alias
Specifies the alias name in the keystore. This property is used if the keystore has multiple key pair certificates and you want to select one of the certificates.

Default: no value

contextProvider
Specifies the name of the context provider for the trust service. If you indicate a value that is not valid, a security exception results that indicates that the context provider type is incorrect.

Valid values: IBMJSSE2, IBMJSSE, IBMJSSEFIPS, and so on.

customSecureTokenManagerProps
Specifies the custom SecureTokenManager implementation class properties. This property is used only if the secureTokenManagerType value is custom. The value is set to the SecureTokenManager Object with the setProperties(String) method.
customTokenManagerClass
Specifies the name of your SecureTokenManager implementation class, if you specified the SecureTokenManagerType property value as custom. The implementation class must have a default constructor to be instantiated.
keyStore
Specifies a fully qualified path to the keystore file.

Example: etc/test/security/client.private

keyStorePassword
Specifies the string password to the keystore. You can encode this value or use the actual value.
keyStoreType
Indicates the type of keystore. If you indicate a value that is not valid, a runtime security exception results.

Valid values: JKS, JCEK, PKCS12, and so on.

protocol
Indicates the type of security protocol to use for the client. Set this protocol value based on which Java Secure Socket Extension (JSSE) provider you use. If you indicate a value that is not valid, a security exception results that indicates that the protocol value is incorrect.

Valid values: SSL, SSLv3, TLS, TLSv1, and so on.

SecureTokenManager
The SecureTokenManager setting is used for protecting the secret string for server mutual authentications and for protecting the single sign-on token.
secureTokenManagerType
Specifies the type of SecureTokenManager setting. You must use the same secureTokenManagerType setting in all of the servers in the catalog service domain, and all servers in linked catalog service domains.You can use one of the following settings:
  • none: Indicates that no secure token manager is used. A secure token manager is required to protect the authenticationSecret attribute value when it is transmitted over the network. This setting also disables the use of a single sign-on token. For security, use the autoSecret setting.
  • default: Indicates that a token manager that is supplied with the WebSphere eXtreme Scale product is used. You must provide a SecureToken keystore configuration.
  • [Version 8.6 and later] autoSecret: Indicates that a token manager that is supplied with the WebSphere eXtreme Scale product is used. This setting provides encryption for server authentication and single sign on tokens, but does not require additional configuration items. Security depends on a hard to guess authenticationSecret attribute value.
  • custom: Indicates that you have your own token manager that you specified with the SecureTokenManager implementation class.
trustStore
Specifies a fully qualified path to the truststore file.

Example: etc/test/security/server.public

trustStorePassword
Specifies a string password to the truststore. You can encode this value or use the actual value.
trustStoreType
Indicates the type of truststore. If you indicate a value that is not valid, a runtime security exception results.

Valid values: JKS, JCEK, PKCS12, and so on.

Secure token keystore configuration
secureTokenKeyStore
Specifies the file path name for the keystore that stores the public-private key pair and the secret key.
secureTokenKeyStoreType
Specifies the keystore type, for example, JCKES. You can set this value based on the Java Secure Socket Extension (JSSE) provider that you use. However, this keystore must support secret keys.
secureTokenKeyPairAlias
Specifies the alias of the public-private key pair that is used for signing and verifying.
secureTokenKeyPairPassword
Specifies the password to protect the key pair alias that is used for signing and verifying.
secureTokenSecretKeyAlias
Specifies the secret key alias that is used for ciphering.
secureTokenSecretKeyPassword
Specifies the password to protect the secret key.
secureTokenCipherAlgorithm
Specifies the algorithm that is used for providing a cipher. You can set this value based on the Java Secure Socket Extension (JSSE) provider that you use.
secureTokenSignAlgorithm
Specifies the algorithm that is used for signing the object. You can set this value based on the JSSE provider that you use.
Authentication string
authenticationSecret
Specifies the secret string to challenge the server. When a server starts, it must present this string to the president server or catalog server. If the secret string matches what is in the president server, this server is allowed to join in. All of the servers in a catalog service domain, and all of the servers in any linked catalog service domains must use the same value for the authenticationSecret setting. The authenticationSecret value must be a long, hard to guess string. Do not use the authenticationSecret value that is in the sampleServer.properties in production deployments.