Interface ServerConfiguration

    • Field Detail

      • DEFAULT_SERVER_CONNECTION_TIMEOUT

        static final int DEFAULT_SERVER_CONNECTION_TIMEOUT
        See Also:
        Constant Field Values
      • DEFAULT_CONNECTION_MAINTENANCE_INTERVAL

        static final int DEFAULT_CONNECTION_MAINTENANCE_INTERVAL
        See Also:
        Constant Field Values
      • JAVAX_NET_KEYSTORE

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

        static final String JAVAX_NET_KEYSTORE_PASSWORD
        The system property key for specifying a ssl keystore password
        See Also:
        Constant Field Values
      • 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: none
      • 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)
      • KEYSTORE

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

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

        static final PropertyValue<Integer> SERVER_ADMIN_PORT
        The port on which the server should export the remote admin interface
        Value type: Integer
        Default value: none
      • SERVER_ADMIN_USER

        static final PropertyValue<String> SERVER_ADMIN_USER
        Specifies a username:password combination representing the server admin user
        Example: scott:tiger
      • SERVER_CONNECTION_SSL_ENABLED

        static final PropertyValue<Boolean> SERVER_CONNECTION_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
      • SERVER_CONNECTION_TIMEOUT

        static final PropertyValue<Integer> SERVER_CONNECTION_TIMEOUT
        Specifies the default client connection inactivity timeout in milliseconds. Value type: Integer
        Default value: 120000ms (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:
        AuxiliaryServer
      • 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 Detail

      • getServerPort

        int getServerPort()
        Returns:
        the server port
      • getRegistryPort

        int getRegistryPort()
        Returns:
        the registry port to use
      • getServerAdminPort

        Integer getServerAdminPort()
        Returns:
        the port on which to make the server admin interface accessible
      • getAuxiliaryServerFactoryClassNames

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

        Boolean getSslEnabled()
        Returns:
        true if ssl is enabled
      • getRmiClientSocketFactory

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

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

        String getSerializationFilterWhitelist()
        Returns:
        the serialization whitelist to use, if any
      • getSerializationFilterDryRun

        Boolean getSerializationFilterDryRun()
        Returns:
        true if a serialization filter dry run should be active
      • getConnectionMaintenanceInterval

        Integer getConnectionMaintenanceInterval()
        Returns:
        the interval between server connection maintenance runs, in milliseconds.
      • setServerAdminPort

        void setServerAdminPort​(Integer adminPort)
        Parameters:
        adminPort - the port on which to make the server admin interface accessible
      • setServerNameProvider

        void setServerNameProvider​(Supplier<String> serverNameProvider)
        Parameters:
        serverNameProvider - the server name provider
      • setServerName

        void setServerName​(String serverName)
        Parameters:
        serverName - the server name
      • setAuxiliaryServerFactoryClassNames

        void setAuxiliaryServerFactoryClassNames​(Collection<String> auxiliaryServerFactoryClassNames)
        Parameters:
        auxiliaryServerFactoryClassNames - the class names of auxiliary server factories, providing the servers to run alongside this server
      • setRmiClientSocketFactory

        void setRmiClientSocketFactory​(RMIClientSocketFactory rmiClientSocketFactory)
        Parameters:
        rmiClientSocketFactory - the rmi client socket factory to use
      • setRmiServerSocketFactory

        void setRmiServerSocketFactory​(RMIServerSocketFactory rmiServerSocketFactory)
        Parameters:
        rmiServerSocketFactory - the rmi server socket factory to use
      • setSerializationFilterWhitelist

        void setSerializationFilterWhitelist​(String serializationFilterWhitelist)
        Parameters:
        serializationFilterWhitelist - the serialization whitelist
      • setSerializationFilterDryRun

        void setSerializationFilterDryRun​(Boolean serializationFilterDryRun)
        Parameters:
        serializationFilterDryRun - true if serialization filter dry run is active
      • setConnectionMaintenanceIntervalMs

        void setConnectionMaintenanceIntervalMs​(Integer connectionMaintenanceIntervalMs)
        Parameters:
        connectionMaintenanceIntervalMs - the interval between server connection maintenance runs, in milliseconds.
      • configuration

        static ServerConfiguration configuration​(int serverPort)
        Parameters:
        serverPort - the server port
        Returns:
        a default server configuration
      • configuration

        static ServerConfiguration configuration​(int serverPort,
                                                 int registryPort)
        Parameters:
        serverPort - the server port
        registryPort - the registry port
        Returns:
        a default server configuration
      • fromSystemProperties

        static ServerConfiguration fromSystemProperties()
        Returns:
        a configuration according to system properties.