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
    • 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:
    • OBJECT_INPUT_FILTER_FACTORY_CLASS_NAME

      static final PropertyValue<String> OBJECT_INPUT_FILTER_FACTORY_CLASS_NAME
      Specifies the ObjectInputFilterFactory class to use
      • Value type: String
      • Default value: none
      See Also:
    • CONNECTION_MAINTENANCE_INTERVAL

      static final PropertyValue<Integer> CONNECTION_MAINTENANCE_INTERVAL
      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

      Optional<RMIClientSocketFactory> rmiClientSocketFactory()
      Returns:
      the rmi client socket factory to use, or an empty Optional if none is specified
    • rmiServerSocketFactory

      Optional<RMIServerSocketFactory> rmiServerSocketFactory()
      Returns:
      the rmi server socket factory to use, or an empty Optional if none is specified
    • objectInputFilterFactoryClassName

      Optional<String> objectInputFilterFactoryClassName()
      Returns:
      the object input filter factory class name, or an empty Optional if none is specified
    • connectionMaintenanceInterval

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

      int connectionLimit()
      Returns:
      the maximum number of concurrent connections, -1 for no limit
    • 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.