Interface ServerConfiguration

All Known Subinterfaces:
EntityServerConfiguration

public interface ServerConfiguration
Configuration values for a Server.
See Also:
  • Field Details

    • DEFAULT_IDLE_CONNECTION_TIMEOUT

      static final int DEFAULT_IDLE_CONNECTION_TIMEOUT
      The default idle connection timeout in milliseconds.
      See Also:
    • DEFAULT_CONNECTION_MAINTENANCE_INTERVAL

      static final int DEFAULT_CONNECTION_MAINTENANCE_INTERVAL
      The default connection maintenance interval in milliseconds.
      See Also:
    • JAVAX_NET_KEYSTORE

      static final String JAVAX_NET_KEYSTORE
      The system property key for specifying a ssl keystore
      See Also:
    • JAVAX_NET_KEYSTORE_PASSWORD

      static final String JAVAX_NET_KEYSTORE_PASSWORD
      The system property key for specifying a ssl keystore password
      See Also:
    • LOCALHOST

      static final String LOCALHOST
      Localhost
      See Also:
    • RMI_SERVER_HOSTNAME

      static final PropertyValue<String> RMI_SERVER_HOSTNAME
      Specifies the rmi server hostname
      Note that this is the standard Java property 'java.rmi.server.hostname'
      Value type: String
      Default value: localhost
    • SERVER_NAME_PREFIX

      static final PropertyValue<String> SERVER_NAME_PREFIX
      Specifies the prefix used when exporting/looking up the Codion server
      Value type: String
      Default value: Codion Server
    • SERVER_PORT

      static final PropertyValue<Integer> SERVER_PORT
      The port on which the server is made available to clients.
      If specified on the client side, the client will only connect to a server running on this port, use -1 or no value if the client should connect to any available server
      Value type: Integer
      Default value: -1
    • REGISTRY_PORT

      static final PropertyValue<Integer> REGISTRY_PORT
      The port on which to locate the server registry
      Value type: Integer
      Default value: Registry.REGISTRY_PORT (1099)
    • CLASSPATH_KEYSTORE

      static final PropertyValue<String> CLASSPATH_KEYSTORE
      The rmi ssl keystore to use on the classpath, this will be resolved to a temporary file and set as the javax.net.ssl.keyStore system property on server start
      Value type: String Default value: null
    • KEYSTORE

      static final PropertyValue<String> KEYSTORE
      The rmi ssl keystore to use
      Value type: String Default value: null
      See Also:
    • KEYSTORE_PASSWORD

      static final PropertyValue<String> KEYSTORE_PASSWORD
      The rmi ssl keystore password to use
      Value type: String Default value: null
    • ADMIN_PORT

      static final PropertyValue<Integer> ADMIN_PORT
      The port on which the server should export the remote admin interface
      Value type: Integer
      Default value: 0 (admin not exported)
    • ADMIN_USER

      static final PropertyValue<String> ADMIN_USER
      Specifies a username:password combination representing the server admin user
      Example: scott:tiger
      Default value: none
    • SSL_ENABLED

      static final PropertyValue<Boolean> SSL_ENABLED
      Specifies whether the server should establish connections using a secure sockets layer, true (on) or false (off)
      Value type: Boolean
      Default value: true
    • IDLE_CONNECTION_TIMEOUT

      static final PropertyValue<Integer> IDLE_CONNECTION_TIMEOUT
      Specifies the default idle client connection timeout in milliseconds. Value type: Integer
      Default value: 120.000ms (2 minutes)
    • AUXILIARY_SERVER_FACTORY_CLASS_NAMES

      static final PropertyValue<String> AUXILIARY_SERVER_FACTORY_CLASS_NAMES
      A comma separated list of auxiliary server factories, providing servers to run alongside this Server
      Those must extend AuxiliaryServerFactory.
      Value type: String
      Default value: none
      See Also:
    • SERIALIZATION_FILTER_WHITELIST

      static final PropertyValue<String> SERIALIZATION_FILTER_WHITELIST
      The serialization whitelist file to use if any
    • SERIALIZATION_FILTER_DRYRUN

      static final PropertyValue<Boolean> SERIALIZATION_FILTER_DRYRUN
      If true then the serialization whitelist specified by SERIALIZATION_FILTER_WHITELIST is populated with the names of all deserialized classes on server shutdown. Note this overwrites the file if it already exists.
    • CONNECTION_MAINTENANCE_INTERVAL_MS

      static final PropertyValue<Integer> CONNECTION_MAINTENANCE_INTERVAL_MS
      Specifies the interval between server connection maintenance runs, in milliseconds.
      Value type: Integer
      Default value: 30_000ms (30 seconds)
  • Method Details

    • serverName

      String serverName()
      Returns:
      the server name
      See Also:
    • port

      int port()
      Returns:
      the server port
    • registryPort

      int registryPort()
      Returns:
      the registry port to use
    • adminPort

      int adminPort()
      Returns:
      the port on which to make the server admin interface accessible
    • auxiliaryServerFactoryClassNames

      Collection<String> auxiliaryServerFactoryClassNames()
      Returns:
      the class names of auxiliary server factories, providing the servers to run alongside this server
    • sslEnabled

      boolean sslEnabled()
      Returns:
      true if ssl is enabled
    • rmiClientSocketFactory

      RMIClientSocketFactory rmiClientSocketFactory()
      Returns:
      the rmi client socket factory to use, null for default
    • rmiServerSocketFactory

      RMIServerSocketFactory rmiServerSocketFactory()
      Returns:
      the rmi server socket factory to use, null for default
    • serializationFilterWhitelist

      String serializationFilterWhitelist()
      Returns:
      the serialization whitelist to use, if any
    • serializationFilterDryRun

      boolean serializationFilterDryRun()
      Returns:
      true if a serialization filter dry run should be active
    • connectionMaintenanceInterval

      int connectionMaintenanceInterval()
      Returns:
      the interval between server connection maintenance runs, in milliseconds.
    • builder

      static <B extends ServerConfiguration.Builder<B>> ServerConfiguration.Builder<B> builder(int serverPort)
      Type Parameters:
      B - the builder type
      Parameters:
      serverPort - the server port
      Returns:
      a default server configuration
    • builder

      static <B extends ServerConfiguration.Builder<B>> ServerConfiguration.Builder<B> builder(int serverPort, int registryPort)
      Type Parameters:
      B - the builder type
      Parameters:
      serverPort - the server port
      registryPort - the registry port
      Returns:
      a default server configuration
    • builderFromSystemProperties

      static <B extends ServerConfiguration.Builder<B>> ServerConfiguration.Builder<B> builderFromSystemProperties()
      Returns a Builder initialized with values from system properties.
      Type Parameters:
      B - the builder type
      Returns:
      a server configuration builder initialized with values from system properties.