Configuring the Server

There are several options available for you to configure the server.

  • port

    Specifies the port number the server listens for client connections. The default value is 8080.

  • workers

    Specifies the number of worker threads used for handling client requests. The default value is 20.

    If SSL is not enabled, client requests are handled by a shared pool of worker threads. A free worker thread is chosen to handle each client request, and the worker thread becomes free again after handling the request. The number of worker threads determines the maximum number of client requests that can be handled concurrently. If the number of concurrent requests exceeds the number of worker threads, later requests will be blocked until a free worker thread is available.

    Note:

    The number of concurrent client connections is limited only by system resources. For example, the server can serve 200 concurrent client connections even if the number of workers is set to 20.

    If SSL is enabled, each client is handled by a dedicated worker thread. Therefore, the number of worker threads determines the maximum number of concurrent client connections. For example, if workers is set to 100, the server can serve a maximum of 100 concurrent client connections. If more clients try to connect to the server, they are blocked until some client disconnects from the server or the connection times out (the timeout is specified by the user).

  • ssl.host

    Specifies the host name of the server. SSL is enabled if this property is specified. Clients should use this name when connecting to the server. There is no default value, and SSL is disabled by default.

  • ssl.keyStore

    Specifies the path to the Java keystore file that manages the server's private key. There is no default value.

    Note:

    This file maintains sensitive information. If the file is accessible globally (globally readable, writable, or executable), the server would not start.
  • ssl.keyStore.password

    Specifies the password of the keystore file specified in ssl.keyStore. There is no default value.

  • ssl.keyStore.type

    Specifies the type of the keystore file specified in ssl.keyStore. There is no default value.

  • ssl.keyStore.manager

    Specifies the algorithm name of the key manager factory. There is no default value.

  • ssl.trustStore

    Specifies the path to the Java trust store file that manages the server's trusted public certificates. There is no default value.

    Note:

    This file maintains sensitive information. If the file is accessible globally (globally readable, writable, or executable), the server would not start.
  • ssl.trustStore.password

    Specifies the password of the trust store file specified in ssl.trustStore. There is no default value.

  • ssl.trustStore.type

    Specifies the type of the trust store file specified in ssl.trustStore. There is no default value.

  • ssl.trustStore.manager

    Specifies the algorithm name of the trust manager factory. There is no default value.

  • root.home

    Specifies the root directory for all environments' home directories. For example, if the environment home specified by a client is env_home, the actual home directory on the server is /env_home. The default value is the current working directory.

    Note:

    The environment home specified by a client cannot escape the specified root directory. Absolute paths or relative paths that escape the root directory are not allowed.
  • root.data

    Specifies the root directory for all environments' data directories. For example, if the environment home specified by a client is env_home, the actual directory for access method database files of this environment is /env_home.

    If this property is not specified, root.home is used.

  • root.blob

    Specifies the root directory for all environments' blob directories. For example, if the environment home specified by a client is env_home, the actual directory for blob files of this environment is /env_home.

    If this property is not specified, root.home is used.

  • root.log

    Specifies the root directory for all environments' log directories. For example, if the environment home specified by a client is env_home, the actual directory for log files of this environment is /env_home.

    If this property is not specified, root.home is used.

  • handle.timeout

    Specifies the timeout for open handles on the server, in seconds. The server scans all open handles periodically, and closes those handles that have not been accessed for the last handle.timeout seconds. The default value is 600.

  • cleanup.interval

    Specifies the interval between consecutive scans of open handles, in seconds. The default value is 300.