Class ServerSettings
- All Implemented Interfaces:
IServerSettings, EventListener, IGProp<GProp<?>[]>, IPropCnr, ISecretsContext, Cloneable
- Direct Known Subclasses:
EditorServerSettings
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringFlag to allow file upload, default false.static final StringProperty name for the origins of the web pages allowed to call this server cross-origin (CORS) and to open a WebSocket, beside the ones the server grants by itself: its own host, the environments' allowed domains, the external server URL, the hub's members and origins, and the iiziRun WebView origins.static final StringAuthentication required: basic.static final StringDefault base name without file extension of the iiziServer configuration file: "config".static final StringDefault name of the iiziServer configuration file: "config.iiziServer".static final StringThe extension of the iiziServer configuration file: ".iiziServer".static final StringDatabase tables auto-creation flag, default true.static final StringDatabase server auto-start (Derby Database Server running on same machine), default true.static final StringDatabase directory (local embedded Derby), default "db".static final StringDatabase server host name or address (remote Derby).static final StringMaximum age of cached database files: milliseconds.static final StringMaximum number of cached database files.static final StringDatabase server port number, default 1527.static final longDefault maximum age of cached database files: 90 days or 7_776_000_000 milliseconds.static final intDefault maximum number of cached database files: 10_000.static final StringThe default directory for the file provider root.static final StringThe default database directory: "IP2Location".static final intDefault history size = 500.static final intDefault log level = ILog.INFO.static final StringDefault log file name.static final intThe default maximum count of current thumbnail requests to "urlbox.io", default 5.static final intThe default maximum history size for geolocation entries per user.static final intDefault max log file size in MB = 50 MB, undefined = unlimited (-1).static final intDefault value for maximum server key age: 90 days.static final intDefault maximum upload size: 50 MB.static final StringThe default server configuration environment.static final StringThe default SignIn module application ID: the SignIn project's, "com.iizix.app.signin".static final intThe default, the least and the most days a device stays signed in.static final intThe default and the most days a device is trusted for MFA.static final intDefault upload chunk size: 2048 KB.static final StringDefault directory name for file upload = "uploads";static final intDefault upload idle timeout: 1800 seconds.static final intDefault maximum file count per upload reservation: 1000.static final intDefault upload maximum pause: 3600 seconds (one hour).static final intDefault server-global upload quota: 10240 MB.static final intDefault per-application-session upload quota: 1024 MB.static final intDefault upload start timeout: 60 seconds.static final StringDefault permitted upload media types: any.static final intThe default grace period in days: the classifier's, 30.static final StringProperty name for "directory listing allowed".static final StringTimeout before an app session is disposed of when no more client sessions are present, default 10 minutes (600_000).static final StringProperty name for external server URL, including protocol and potential port number (if different from protocol port).static final StringRoot directory relative the server's current directory where to place external files provided for remote usage over the web server.static final StringFlag to log the geolocation of every client session at connect, reconnect and disconnect, default false.static final StringThe trusted proxies whoseForwardedandX-Forwarded-Forheaders name the real client address: a comma-separated list of IP addresses and CIDR prefixes such as"10.0.0.5, 192.168.0.0/16, fd00::/8".static final StringFlag to register the web region location providers GeoPlugin, IPStack and IPWhoIs in production, default false.static final StringThe Gzip boolean setting.static final StringHeartbeat interval to keep the communication link up, default 45 seconds (45_000).static final StringTimeout before a client session is disposed when it has not processes any transactions, default 2 hours (7_200_000).static final StringThe LITE database tier, one of theDatabasenames, default "DB11_LITE".static final StringThe database directory, relative the server's current directory or absolute, default "IP2Location".static final StringFlag to enable the local IP2Location LITE database service, default false.static final StringConsecutive initialization failures before recovery, default 2, range 1 to 100.static final StringFlag to download and load the IPv6 database as well, default false.static final StringConsecutive lookup errors before recovery, default 10, range 1 to 1000.static final StringMaximum automatic recovery attempts, default 3, range 1 to 10.static final StringFlag to access the databases as memory-mapped files, default true.static final StringFlag to notify listeners on transient errors, default false.static final StringFlag to recover on database corruption, default true.static final StringFlag to recover after a download failure, default false.static final StringThe recovery action when error thresholds are exceeded, one of theRecoveryConfig.RecoveryActionnames, default "NOTIFY_ONLY".static final StringCooldown in minutes between recovery attempts, default 60, range 5 to 1440.static final StringThe IP2Location LITE download token (a PasswordProp: stored encrypted, never as plain text).static final StringOld log compression: 0=none, 1=gzip (default), 2=xz.static final StringThe history size.static final StringLog level.static final StringLog to console.static final StringLog file name.static final StringThe maximum count of current thumbnail requests to "urlbox.io", default 10.static final StringThe maximum history size for geolocation entries per user.static final StringMax size of log file before new file.static final StringMaximum server key age in days: "maxServerKeyAge".static final intstatic final intstatic final StringMaximum upload size in MB.static final intstatic final StringThe authentication realm.static final StringThe file name for authentication realm properties, default "authentication-realm-properties.txt" in the current directory of the server.static final StringThe return code to use when web server receives HTTP requests to redirect to HTTPS.static final StringThe secrets context of this server configuration: "$secretsContext", a clear string such asserver.Test2.config(decision P-4 (a)).static final StringThe prefix of a proposed server secrets context: "server".static final StringThe application ID of the SignIn module, the only code that may useIUserAuthenticationUI(AppFactory.getUserAuthenticationUI; CC-LOGIN-SERVER-CORE, D-7 of the SignIn survey): string, defaultDEFAULT_SIGNIN_MODULE.static final StringFlag for self sign-up with the internal login provider (IUserAuthenticationUI.performInternalSignup): boolean, default false - nobody creates an account on a server that has not enabled it (CC-LOGIN-SERVER-CORE).static final StringFlag for staying signed in on a device (IUserAuthenticationUI.rememberUserandperformDeviceSignIn; CC-LOGIN-L5-DEVICE-TOKEN, D-7 of the SignIn flow design): boolean, default true.static final Stringstatic final Stringstatic final StringProperty name of "count of strings in transactional cache".static final StringProperty name of "maximum string length of a transactional cache".static final StringProperty name of "minimum string length of a transactional cache".static final StringUpload chunk size in KB.static final StringDirectory name for file upload.static final StringSeconds after the last accepted chunk before an idle upload reservation is cancelled.static final StringMaximum file count per upload reservation.static final StringSeconds an upload reservation may stay paused (by the App or the client) before it is cancelled; the idle timeout does not run while paused.static final StringServer-global upload quota in MB: the most that may be reserved-or-staged at once across all application sessions, 0 for unlimited.static final StringPer-application-session upload quota in MB, beneath the server quota, 0 for unlimited.static final StringSeconds after a reservation is made before it is cancelled if no chunk has arrived.static final StringPermitted upload media types, comma-separated, empty for any.static final StringThe "urlbox.io" API key.static final StringThe web engine support table file that replaces the one bundled with the server, relative the server's current directory or absolute.static final StringThe grace period in days before a client whose web engine has a newer version is called behind: BEHIND only when the next major has been served for longer than this.static final StringFlag to refresh the first-stable days of the Chrome majors weekly from Google's VersionHistory service, default true.static final StringThe web server maximum thread idle time settings.static final StringProperty name for the logger directory for web server log files.static final StringProperty name for the number of days to retain web server log files.static final StringProperty name for the time zone ID for logging web server requests.static final StringThe web server maximum number of threads setting.static final StringThe web server minimum number of threads setting.static final StringThe web server number of reserved threads setting.Fields inherited from class PropCnr
EMPTY, EMPTY_CLASSES, EMPTY_CNRS, EXTENDS_FRAMEWORK_ERROR_IDFields inherited from class GProp
GPDEBUG, PROP_ATTR_STRING_EDITOR_PROP, PROP_ATTR_STRING_ERRORED_NAME, PROP_ATTR_STRING_EXTENDS, PROP_ATTR_STRING_EXTENDS_FINAL, PROP_ATTR_STRING_EXTENDS_PRIVATE, PROP_ATTR_STRING_NULLABLE, PROP_ATTR_STRING_PRIVATE, PROP_ATTR_STRING_PRIVATE_CHANGE_EVENT, PROP_ATTR_STRING_READ_ONLY, PROP_ATTR_STRING_SECRET, PROP_USER_1, PROP_USER_2Fields inherited from interface IGProp
EQC_ERROR_IGNORE_ALL, EQC_ERROR_IGNORE_REFERENCES, EQC_IGNORE_ARRAY, EQC_IGNORE_VOLATILE_OR_EDITOR, EQC_INCLUDE_PRIVATE, EQC_SAVE_FILE, EQC_SAVE_RELEVANT_ONLY, EXT_CONTAINER_EXTENDS, EXT_CONTAINER_EXTENDS_VALID, EXT_EXTENDED, EXT_FINAL, EXT_OVERRIDES, EXT_OVERRIDES_FINAL_ERR, EXT_PRIVATEFields inherited from interface ISecretsContext
KEY_SEPARATORConstructor Summary
ConstructorsConstructorDescriptionCreates the server settings without a name.ServerSettings(Atom atom) Creates the server settings with a name.Method Summary
Modifier and TypeMethodDescriptionprotected voidAdds the predefined containers for identifications, fields and actions.checkApplicationDefinitions(PropVerification verification) Checks the application definitions of all environments for duplicates: an application ID and every alias must be unique among ALL IDs and aliases of ALL environments (a server runs several environments at once and an application reference carries no environment).clone()Creates a clone out of this property.protected PolicyPropscreatePolicyProps(Atom atom) Creates a policy property with the specified atom name.findServerAppConfig(String idOrAlias) Finds the application definition of an ID or an alias, over all environments.Gets the password policy for administrators.Gets the origins allowed to call this server cross-origin and to open a WebSocket, as written in the$allowedOriginssetting;HubOriginsparses the list (CC-FIX-SB-CORS).Gets the application definitions of all environments of the server configuration, in the order of the file (an entry outside its container, before the migration at load, included).Gets the realm for authentication.int[]Gets the cache parameters as 3 integers in an array, param[0] is minLength, param[1] is maxLength, param[2] is count.longTimeout before an app session is disposed of when no more client sessions are present, default 10 minutes.longHeartbeat interval to keep the communication link up, default 45 seconds.longGets the timeout before a client session is disposed when it has not processes any transactions, default 2 hours.longGets the maximum file age of cached database files.intGets the maximum number of cached database files.Gets the default Server configuration environment name.Gets the description of the Server.Gets the external server URL, including protocol and potential port number (if different from protocol port).Gets the root directory relative the server's current directory where to place external files provided for remote usage over the web server.Gets the upload directory where files are placed in a staging area.Gets the trusted proxies list whose forwarded headers name the real client address.Gets the IP2Location LITE database tier.Gets the IP2Location database directory.intGets the consecutive initialization failures before recovery.intGets the consecutive lookup errors before recovery.intGets the maximum automatic recovery attempts.Gets the recovery action when error thresholds are exceeded.intGets the cooldown in minutes between recovery attempts.Gets the IP2Location LITE download token.Gets the Let's Encrypt domains.Gets the log file name.intGets the history size for events kept in-memory for the server administration program to retrieve.intGets the log level to use.booleanLogging output also to console.getMailSender(String name, ExecutorService executorService, File baseDir) Gets the mail sender with the specified name.intThe maximum count of current thumbnail requests to "urlbox.io", default 5.intGets the maximum number of geolocation entries per user in the history.longGets the maximum log file size.intGets the maximum server key age in days.intReturns the maximum size of any uploaded file in MB.getPortConfiguration(String name) Gets the port configuration of a name (CC-FIX-APP-DEFINITIONS): the configuration whosename- itsWebServerPortConfig.NAME, else its atom name - equals the name, case-sensitive.Gets the configured ports.Gets the file name for the authentication realm properties.getRegionLocationAPIKey(String providerName) Gets the API key for a region location service provider.intGets the global cache size for the region location service providers.Gets the root directory for external files.Gets the secrets context of this server configuration: the value ofSECRETS_CONTEXT.Gets the configuration environment of a name.Gets the array of configuration environments present.Gets the application ID of the SignIn module, the only code that may useIUserAuthenticationUI.intGets the days a device stays signed in, and is remembered, from its last use.intGets the days a device is trusted for MFA when the user asks for it.intGets the upload chunk size.intGets the upload idle timeout.intGets the maximum file count per upload reservation.intGets the upload maximum pause time.Gets the permitted upload media types.intGets the server-global upload quota.intGets the per-application-session upload quota.intGets the upload start timeout.Gets the "urlbox.io" API key.Gets the password policy for users.Gets the web engine support table file that replaces the bundled one.intGets the grace period before a client whose web engine has a newer version is called behind.intGet the web server maximum thread idle time, default is 60 seconds, 60_000 milliseconds.Gets the logger directory for web server log files.intGets the number of days to retain web server log files.Gets the time zone ID for logging web server requests.intGet the web server maximum number of threads, default is 200.intGet the web server minimum number of threads, default is 8.intThe return code to use when web server receives HTTP requests to redirect to HTTPS.intGet the web server number of reserved threads, default to -1.booleanChecks if basic authentication should be used.booleanFlag for directory listing allowed.booleanChecks if file upload is enabled or not.booleanChecks if the geolocation of client sessions is logged at connect, reconnect and disconnect.booleanChecks if the web region location providers (GeoPlugin, IPStack, IPWhoIs) are registered in production.booleanChecks if the local IP2Location database service is enabled.booleanChecks if the IPv6 database is downloaded and loaded as well.booleanChecks if the databases are accessed as memory-mapped files.booleanChecks if listeners are notified on transient errors.booleanChecks if recovery is attempted on database corruption.booleanChecks if recovery is attempted after a download failure.booleanChecks if self sign-up with the internal login provider is enabled.booleanChecks if a user may stay signed in on a device.booleanChecks if the first-stable days of the Chrome majors are refreshed online.voidCalled when the application is loaded.voidCalled when an application is instantiated and started by a user session.voidCalled when an application is stopped.voidCalled when the application is unloaded.voidCalled when the tree of the configuration file is complete: gives every secret-marked member its value from this machine's secrets store, under this configuration's context (CC-SECRETS-SK3-CONTEXTS, design section 5).protected voidCalled when loaded to update the ServerProps instance.proposeSecretsContext(String project, String fileBaseName) Proposes the secrets context of this configuration at its first secret-marked member, asserver.<project>.<file base name>(decision P-4 (a)): only when the configuration marks a member secret and has noSECRETS_CONTEXTyet.voidsetCacheParams(int minLength, int maxLength, int count) Sets the parameters for cache: minLength, maxLength, count.booleansetDescription(String descr) Sets the description of the server.booleansetExternalHostName(String extServerURL) Sets the external server URL, including protocol and potential port number (if different from protocol port).booleansetRootDirectory(String root) Sets the root directory for external files.booleanuseGzip()Flag if Gzip compression should be used in the web server.booleanverify(PropVerification verification) Verifies this property container.Methods inherited from class PropCnr
__transferChildProps, addProp, addProp, addProp2, addProp2, appendPropValue, canRequestFocus, completeVirtualize, containsProp, containsProp, convertLoadedProp, couldRequestFocusIfVirtualized, createCopyOfAtom, createUniqueAtom, createUniqueAtom, createUniqueAtom, createVSReference, doPropEqualsArrayValues, enablePropCommunication, enablePropHashMap, equalsTree, equalsTree, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getBool, getBool, getBool, getBool, getChildPropError, getChildPropError, getChildPropErrorSeverity, getChildPropErrorSeverity, getErrorsProp, getExtendsContainer, getExtendsError, getExtendsName, getExtendsOverride, getExtendsPossibleClasses, getFirstProp, getFirstProp, getFocusEngine, getInt, getInt, getInt, getInt, getLong, getLong, getLong, getLong, getNumber, getNumber, getNumber, getNumber, getPossibleChildren, getPredefinedProps, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getPropBaseReference, getPropCnr, getPropCount, getPropCount, getPropIndex, getPropIndex, getPropIndexes, getProps, getProps, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue0, getRetargetedVerifyContainer, getString, getString, getString, getString, getValueClasses, getVSReference, hasFocus, hasSendData, initializeElement, initializeExtendsFramework, initializeProp, initializePropTree, initializeValue, initPropCnr, insertProp, insertProp2, isChild, isExtendsOverriden, isExtendsPropertyValid, isExtendsRoot, isPropAddRemoveAllowed, isPropCommunicating, isPropExtended, isPropValueTreeLockNeeded, list, list, logPropNotFound, maybeAddProp, onInsertProp, onPropDispose, onPropRemoved, onReferenceEvent, onVirtualContainerCreated, onVirtualizationCompleted, paramString, prepare, removeAllProps, removeAllProps2, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, reorderProps, replaceProps, requestFocus, requestFocus, requestFocusEx, requestFocusEx, resolveReferences, resolveRuntimeReferences, setBool, setBool, setBool, setBool, setCreateRequiredProp, setExtendsName, setExtendsOverride, setInt, setInt, setInt, setLong, setLong, setLong, setLong, setNumber, setNumber, setNumber, setNumber, setProp, setProp, setProp, setProp2, setProp2, setPropValue, setPropValue, setPropValue, setPropValue, setPropValue, setPropValue, setString, setString, setString, setString, shouldCreateProps, shouldSerializeToXML, toElementString, toNativeValue0, usePropHashMap, usesPropIndex, validateChildPropInValue, validateClassInstances, validatePropType, validatePropValue, verifyInternalUseOnly, verifyTree, virtualizeMethods inherited from class GProp
addPropError, addPropListener, appendProp, convertPropError, dispose, equals, equals, equalsErrors, equalsObj, equalsPropValue, equalValues, finalize, fine, fine, finer, finer, finest, finest, fromElementString, getAliasName, getAppSessionGyro, getAppWorker, getAtomPath, getAttribute, getChildReferencePropName, getClientSessionGyro, getClientWorker, getConstraints, getEnvironment, getErroredPropItems, getErroredProps, getErrorsProp, getExtendsRootContainer, getFullPropName, getFullPropName, getFullPropNameDebug, getFullPropNameDebug, getListeners, getModuleFolder, getModuleFolder, getParent, getParent, getProjectName, getPropAtom, getPropError, getPropError, getPropErroredName, getPropErrorSeverity, getPropExtendsFlags, getPropFromPath, getPropFromPath, getPropFromReference, getPropFromReference, getPropIndex, getPropName, getPropPath, getPropPath, getPropReferenceTarget, getPropRootPropMgr, getPropTreeErrorSeverity, getPropValue, getPropValue, getPropValueObject, getReferencePropName, getReferencePropNameNoAssert, getRelativePropName, getRootFromName, getRootName, getRootParent, getRootParentNoAssert, getTreeLock, hasChanged, hasCircularReferencesError, hashCode, hasPrivateChangeEventProp, hasPropError, hasPropTreeError, info, info, initializeGElement, initializeGProp, isDisposed, isPropChildOf, isPropClientCreated, isPropCreateRequired, isPropErrorPersisted, isPropExtended, isPropExtendsFinal, isPropExtendsPrivate, isPropExtendsPrivateInRoot, isPropExtendsPrivateInRoot, isPropFile, isPropFolder, isPropForEditor, isPropForEditorAtCreation, isPropNullable, isPropPrivate, isPropPrivateAtCreation, isPropReadOnly, isPropReferenceTreeValid, isPropRoot, isPropRootLoading, isPropRootTreeModificationsAllowed, isPropSaveRelevant, isPropSecret, isPropSecretCapable, isPropUSER, isPropVirtualized, isPropVirtualizing, isPropVolatile, isPropVolatileOrEditorOnly, isProxied, isSibling, list, list, list, mapAliasToReference, mapAliasToReference, mapReferenceToAlias, mapReferenceToAlias, mapReferenceToProjectRelative, modifyPropValue, moveProp, moveProp, moveProp, onEvent, onEventSelf, onInitialize, onPrepare, onPropInvalidateCache, onPropParentChanged, onPropValueSet, onRemoteEvent, paramString, paramValue, post, post, removePropError, removePropListener, removePropUSER, renameProp, renameProp2, resetChangedTree, setChanged, setConstraints, setConstraints, setParent, setPrivateChangeEventProp, setPrivateCreateRequiredProp, setPropError, setPropErroredName, setPropExtended, setPropExtendsFinal, setPropExtendsPrivate, setPropForEditor, setPropNullable, setPropPrivate, setPropReadOnly, setPropSecret, setPropUSER, setPropValue, setPropValue, setPropValue, setPropValueIncognito, setPropVolatile, severe, severe, severe, shouldSerializeToXML, throwIfReadOnly, toNativeValue, toShortString, toShortString, toString, toString, triggerRemoteEvent, triggerRemoteEvent, validateProp, warning, warning, warningMethods inherited from interface IGProp
addPropError, addPropListener, dispose, equals, fine, fine, finer, finer, finest, finest, fromElementString, getAppSessionGyro, getAtomPath, getClientSessionGyro, getConstraints, getEnvironment, getErroredPropItems, getErroredProps, getErrorsProp, getExtendsRootContainer, getFullPropName, getFullPropNameDebug, getModuleFolder, getModuleFolder, getParent, getParent, getPropAtom, getPropError, getPropError, getPropErrorSeverity, getPropExtendsFlags, getPropFromPath, getPropFromReference, getPropIndex, getPropName, getPropPath, getPropPath, getPropRootPropMgr, getPropTreeErrorSeverity, getPropValue, getPropValue, getReferencePropName, getRelativePropName, getRootParent, getTreeLock, hasChanged, hasCircularReferencesError, hasPrivateChangeEventProp, hasPropError, hasPropTreeError, info, info, initializeGElement, initializeGProp, isDisposed, isPropChildOf, isPropClientCreated, isPropCreateRequired, isPropExtended, isPropExtendsFinal, isPropExtendsPrivate, isPropExtendsPrivateInRoot, isPropExtendsPrivateInRoot, isPropFile, isPropFolder, isPropNullable, isPropPrivate, isPropReadOnly, isPropReferenceTreeValid, isPropRoot, isPropVirtualized, isSibling, list, list, list, mapAliasToReference, mapReferenceToAlias, mapReferenceToProjectRelative, moveProp, moveProp, moveProp, onEvent, onEventSelf, onRemoteEvent, removePropError, removePropListener, renameProp, setChanged, setConstraints, setConstraints, setParent, setPrivateChangeEventProp, setPropError, setPropExtendsFinal, setPropExtendsPrivate, setPropNullable, setPropPrivate, setPropReadOnly, setPropValue, setPropValue, severe, severe, severe, toNativeValue, triggerRemoteEvent, triggerRemoteEvent, validateProp, warning, warning, warningMethods inherited from interface IPropCnr
canRequestFocus, canRequestFocus, couldRequestFocusIfVirtualized, couldRequestFocusIfVirtualizedMethods inherited from interface ISecretsContext
getSecretsKey, isSecretOptional, isSecretsRoot
Field Details
CONFIG_FILE_EXT
The extension of the iiziServer configuration file: ".iiziServer".- See Also:
CONFIG_FILE_DEFAULT_BASE_NAME
Default base name without file extension of the iiziServer configuration file: "config".- See Also:
CONFIG_FILE_DEFAULT_NAME
Default name of the iiziServer configuration file: "config.iiziServer".- See Also:
DEFAULT_SERVER_CONFIG_ENV
The default server configuration environment.- See Also:
IDLE_TIMEOUT
Timeout before a client session is disposed when it has not processes any transactions, default 2 hours (7_200_000). Range is 2 minutes to 2 days (120_000 to 172_800_000); a configured value outside it is clamped. The idle timeout includes dormant session timeout. Value in milliseconds.- See Also:
DORMANT_TIMEOUT
Timeout before an app session is disposed of when no more client sessions are present, default 10 minutes (600_000). Range is 2 minutes to 12 hours (120_000 to 43_200_000); a configured value outside it is clamped. Value in milliseconds.- See Also:
HEARTBEAT_INTERVAL
Heartbeat interval to keep the communication link up, default 45 seconds (45_000). Range is 30 seconds to 5 minutes (SessionMgr.MIN_HEARTBEAT_INTERVALtoSessionMgr.MAX_HEARTBEAT_INTERVAL, 30_000 to 300_000); a configured value outside it is clamped. Value in milliseconds.- See Also:
TRANS_CACHE_MIN
Property name of "minimum string length of a transactional cache".- See Also:
TRANS_CACHE_MAX
Property name of "maximum string length of a transactional cache".- See Also:
TRANS_CACHE_COUNT
Property name of "count of strings in transactional cache".- See Also:
REDIRECT_CODE_HTTP_to_HTTPS
The return code to use when web server receives HTTP requests to redirect to HTTPS. Can be 0 = no redirection, 301 = moved permanently, 302 = moved temporarily (default).- See Also:
EXTERNAL_SERVER_URL
Property name for external server URL, including protocol and potential port number (if different from protocol port).This setting must be set if the retrieval of the local host name e.g. does not include the domain DNS suffix, or that the name is known on external nets differently than on the internal network. This host name is typically used for the OAuth 2.0 authentication callback URL's.
- See Also:
ALLOWED_ORIGINS
Property name for the origins of the web pages allowed to call this server cross-origin (CORS) and to open a WebSocket, beside the ones the server grants by itself: its own host, the environments' allowed domains, the external server URL, the hub's members and origins, and the iiziRun WebView origins. Exact origins asscheme://host[:port], separated by commas or spaces, no wildcards; empty for none (CC-FIX-SB-CORS). Parsed byHubOrigins.- See Also:
WS_LOG_DIR
Property name for the logger directory for web server log files.- See Also:
WS_LOG_RETAIN_DAYS
Property name for the number of days to retain web server log files.- See Also:
WS_LOG_TIME_ZONE
Property name for the time zone ID for logging web server requests.- See Also:
DIR_LIST
GZIP
WS_IDLE_TIMEOUT
The web server maximum thread idle time settings.- See Also:
WS_MAX_THREADS
WS_MIN_THREADS
WS_RESERVED_THREADS
The web server number of reserved threads setting.- See Also:
REALM
REALM_PROPERTIES
The file name for authentication realm properties, default "authentication-realm-properties.txt" in the current directory of the server.- See Also:
AUTH_BASIC
MAX_SERVER_KEY_AGE
Maximum server key age in days: "maxServerKeyAge".- See Also:
DEFAULT_MAX_SERVER_KEY_AGE
public static final int DEFAULT_MAX_SERVER_KEY_AGEDefault value for maximum server key age: 90 days.- See Also:
FILE_PROVIDER_ROOT
Root directory relative the server's current directory where to place external files provided for remote usage over the web server.- See Also:
DEFAULT_FILE_PROVIDER_ROOT
The default directory for the file provider root.- See Also:
URLBOX_IO_API_KEY
The "urlbox.io" API key. You will find this key on your Dashboard when you login to "urlbox.io".- See Also:
MAX_CONCURRENT_THUMBNAILS_COUNT
The maximum count of current thumbnail requests to "urlbox.io", default 10.Be careful not to exceed your quota, there are different plans available.
- See Also:
DEFAULT_MAX_CONCURRENT_THUMBNAILS_COUNT
public static final int DEFAULT_MAX_CONCURRENT_THUMBNAILS_COUNTThe default maximum count of current thumbnail requests to "urlbox.io", default 5.- See Also:
MAX_HISTORY_LOCATION
The maximum history size for geolocation entries per user.- See Also:
DEFAULT_MAX_HISTORY_LOCATION
public static final int DEFAULT_MAX_HISTORY_LOCATIONThe default maximum history size for geolocation entries per user.- See Also:
GEO_SESSION_LOG
Flag to log the geolocation of every client session at connect, reconnect and disconnect, default false. The log line names the provider, the provenance and the accuracy of the location, seecom.iizix.server.geo.ip2location.SessionGeoLogger.- See Also:
GEO_WEB_PROVIDERS
Flag to register the web region location providers GeoPlugin, IPStack and IPWhoIs in production, default false. A lookup through one of them sends the client's IP address to that web service; the local IP2Location provider never does.- See Also:
GEO_TRUSTED_PROXIES
The trusted proxies whoseForwardedandX-Forwarded-Forheaders name the real client address: a comma-separated list of IP addresses and CIDR prefixes such as"10.0.0.5, 192.168.0.0/16, fd00::/8". Default empty: no forwarded header is believed and the address Jetty sees is the client.- See Also:
IP2LOCATION_ENABLED
Flag to enable the local IP2Location LITE database service, default false. When on, the server downloads the database monthly with the token and answers IP-to-region lookups locally; the provider becomes the default one of the region location service.- See Also:
IP2LOCATION_TOKEN
The IP2Location LITE download token (a PasswordProp: stored encrypted, never as plain text).- See Also:
IP2LOCATION_DB_PATH
The database directory, relative the server's current directory or absolute, default "IP2Location".- See Also:
DEFAULT_IP2LOCATION_DB_PATH
The default database directory: "IP2Location".- See Also:
IP2LOCATION_DB_NAME
IP2LOCATION_IPV6
Flag to download and load the IPv6 database as well, default false.- See Also:
IP2LOCATION_MEMORY_MAPPED
Flag to access the databases as memory-mapped files, default true.- See Also:
IP2LOCATION_RECOVERY_ACTION
The recovery action when error thresholds are exceeded, one of theRecoveryConfig.RecoveryActionnames, default "NOTIFY_ONLY".- See Also:
IP2LOCATION_INIT_FAILURE_THRESHOLD
Consecutive initialization failures before recovery, default 2, range 1 to 100.- See Also:
IP2LOCATION_LOOKUP_ERROR_THRESHOLD
Consecutive lookup errors before recovery, default 10, range 1 to 1000.- See Also:
IP2LOCATION_MAX_AUTO_RECOVERY_ATTEMPTS
Maximum automatic recovery attempts, default 3, range 1 to 10.- See Also:
IP2LOCATION_RECOVERY_COOLDOWN_MINUTES
Cooldown in minutes between recovery attempts, default 60, range 5 to 1440.- See Also:
IP2LOCATION_RECOVER_ON_DOWNLOAD_FAILURE
Flag to recover after a download failure, default false.- See Also:
IP2LOCATION_RECOVER_ON_CORRUPTION
Flag to recover on database corruption, default true.- See Also:
IP2LOCATION_NOTIFY_ON_TRANSIENT_ERRORS
Flag to notify listeners on transient errors, default false.- See Also:
WEB_ENGINE_GRACE_DAYS
The grace period in days before a client whose web engine has a newer version is called behind: BEHIND only when the next major has been served for longer than this. Default 30, range 0 to 365. Seecom.iizix.server.webengine.WebEngineAdvisor.- See Also:
DEFAULT_WEB_ENGINE_GRACE_DAYS
public static final int DEFAULT_WEB_ENGINE_GRACE_DAYSThe default grace period in days: the classifier's, 30.- See Also:
WEB_ENGINE_DATA_FILE
The web engine support table file that replaces the one bundled with the server, relative the server's current directory or absolute. Default empty: the bundled table. For a server whose administrator has newer facts than its build carries. A file that cannot be read or fails the bounds of the table is skipped with one WARNING.- See Also:
WEB_ENGINE_REFRESH
Flag to refresh the first-stable days of the Chrome majors weekly from Google's VersionHistory service, default true. It is read by the refresher of the work order CC-WEBENGINE-REFRESH: until that is part of the server nothing is refreshed, whatever the flag says.- See Also:
DB_AUTO_CREATE
DB_DIRECTORY
Database directory (local embedded Derby), default "db".- See Also:
DB_HOST
DB_PORT
DB_AUTO_START
Database server auto-start (Derby Database Server running on same machine), default true.- See Also:
DB_MAX_FILE_COUNT
DEFAULT_DB_MAX_FILE_COUNT
public static final int DEFAULT_DB_MAX_FILE_COUNTDefault maximum number of cached database files: 10_000.- See Also:
DB_MAX_FILE_AGE
Maximum age of cached database files: milliseconds.- See Also:
DEFAULT_DB_MAX_FILE_AGE
public static final long DEFAULT_DB_MAX_FILE_AGEDefault maximum age of cached database files: 90 days or 7_776_000_000 milliseconds.- See Also:
LOGFILE_NAME
DEFAULT_LOGFILE_NAME
MAX_LOGFILE_SIZE
DEFAULT_MAX_LOGFILE_SIZE
public static final int DEFAULT_MAX_LOGFILE_SIZEDefault max log file size in MB = 50 MB, undefined = unlimited (-1).- See Also:
LOG_LEVEL
DEFAULT_LOG_LEVEL
public static final int DEFAULT_LOG_LEVELDefault log level = ILog.INFO.- See Also:
LOG_TO_CONSOLE
LOG_HISTORY_SIZE
LOG_COMPRESS
Old log compression: 0=none, 1=gzip (default), 2=xz.- See Also:
DEFAULT_LOG_HISTORY_SIZE
public static final int DEFAULT_LOG_HISTORY_SIZEDefault history size = 500.- See Also:
ALLOW_UPLOAD
MAX_UPLOAD_SIZE
DEFAULT_MAX_UPLOAD_SIZE
public static final int DEFAULT_MAX_UPLOAD_SIZEDefault maximum upload size: 50 MB.- See Also:
UPLOAD_DIRECTORY
DEFAULT_UPLOAD_DIRECTORY
Default directory name for file upload = "uploads";- See Also:
UPLOAD_QUOTA_SERVER
Server-global upload quota in MB: the most that may be reserved-or-staged at once across all application sessions, 0 for unlimited.- See Also:
DEFAULT_UPLOAD_QUOTA_SERVER
public static final int DEFAULT_UPLOAD_QUOTA_SERVERDefault server-global upload quota: 10240 MB.- See Also:
UPLOAD_QUOTA_SESSION
Per-application-session upload quota in MB, beneath the server quota, 0 for unlimited.- See Also:
DEFAULT_UPLOAD_QUOTA_SESSION
public static final int DEFAULT_UPLOAD_QUOTA_SESSIONDefault per-application-session upload quota: 1024 MB.- See Also:
UPLOAD_MAX_FILES
DEFAULT_UPLOAD_MAX_FILES
public static final int DEFAULT_UPLOAD_MAX_FILESDefault maximum file count per upload reservation: 1000.- See Also:
UPLOAD_CHUNK_SIZE
DEFAULT_UPLOAD_CHUNK_SIZE
public static final int DEFAULT_UPLOAD_CHUNK_SIZEDefault upload chunk size: 2048 KB.- See Also:
UPLOAD_IDLE_TIMEOUT
Seconds after the last accepted chunk before an idle upload reservation is cancelled.- See Also:
DEFAULT_UPLOAD_IDLE_TIMEOUT
public static final int DEFAULT_UPLOAD_IDLE_TIMEOUTDefault upload idle timeout: 1800 seconds.- See Also:
UPLOAD_START_TIMEOUT
Seconds after a reservation is made before it is cancelled if no chunk has arrived.- See Also:
DEFAULT_UPLOAD_START_TIMEOUT
public static final int DEFAULT_UPLOAD_START_TIMEOUTDefault upload start timeout: 60 seconds.- See Also:
UPLOAD_MAX_PAUSE
Seconds an upload reservation may stay paused (by the App or the client) before it is cancelled; the idle timeout does not run while paused.- See Also:
DEFAULT_UPLOAD_MAX_PAUSE
public static final int DEFAULT_UPLOAD_MAX_PAUSEDefault upload maximum pause: 3600 seconds (one hour).- See Also:
UPLOAD_TYPES
Permitted upload media types, comma-separated, empty for any.- See Also:
DEFAULT_UPLOAD_TYPES
SECRETS_CONTEXT
The secrets context of this server configuration: "$secretsContext", a clear string such asserver.Test2.config(decision P-4 (a)). The key of a secret-marked member is the context and the member's atom path from the settings, e.g.server.Test2.config/$mail.mail/password. The Designer proposes it at the first secret-marked member asserver.<project>.<file base name>(proposeSecretsContext(String, String)); it may be edited by hand, and a production server's copy of the file carries the name its store was filled under. Not a secret. No Designer editor in v5 (decision SK3-D-1).- See Also:
SECRETS_CONTEXT_PREFIX
The prefix of a proposed server secrets context: "server".- See Also:
SIGNIN_MODULE
The application ID of the SignIn module, the only code that may useIUserAuthenticationUI(AppFactory.getUserAuthenticationUI; CC-LOGIN-SERVER-CORE, D-7 of the SignIn survey): string, defaultDEFAULT_SIGNIN_MODULE.- See Also:
DEFAULT_SIGNIN_MODULE
The default SignIn module application ID: the SignIn project's, "com.iizix.app.signin".- See Also:
SIGNIN_SELF_SIGNUP
Flag for self sign-up with the internal login provider (IUserAuthenticationUI.performInternalSignup): boolean, default false - nobody creates an account on a server that has not enabled it (CC-LOGIN-SERVER-CORE).- See Also:
SIGNIN_STAY_SIGNED_IN
Flag for staying signed in on a device (IUserAuthenticationUI.rememberUserandperformDeviceSignIn; CC-LOGIN-L5-DEVICE-TOKEN, D-7 of the SignIn flow design): boolean, default true. When false no device token to sign in with is issued, and one a device holds is refused and revoked.- See Also:
SIGNIN_STAY_SIGNED_IN_DAYS
DEFAULT_SIGNIN_STAY_SIGNED_IN_DAYS
public static final int DEFAULT_SIGNIN_STAY_SIGNED_IN_DAYSThe default, the least and the most days a device stays signed in.- See Also:
MIN_SIGNIN_STAY_SIGNED_IN_DAYS
public static final int MIN_SIGNIN_STAY_SIGNED_IN_DAYS- See Also:
MAX_SIGNIN_STAY_SIGNED_IN_DAYS
public static final int MAX_SIGNIN_STAY_SIGNED_IN_DAYS- See Also:
SIGNIN_TRUST_DEVICE_DAYS
DEFAULT_SIGNIN_TRUST_DEVICE_DAYS
public static final int DEFAULT_SIGNIN_TRUST_DEVICE_DAYSThe default and the most days a device is trusted for MFA.- See Also:
MAX_SIGNIN_TRUST_DEVICE_DAYS
public static final int MAX_SIGNIN_TRUST_DEVICE_DAYS- See Also:
Constructor Details
ServerSettings
public ServerSettings()Creates the server settings without a name. The name must be set in all cases using thesetPropertyAtomcall.ServerSettings
Creates the server settings with a name.- Parameters:
atom- The name of the property.
Method Details
addPredefinedProps
Adds the predefined containers for identifications, fields and actions. This method is overridden fully by the Editor versions of the class.- Overrides:
addPredefinedPropsin classPropCnr- Throws:
PropException- for property exceptions.
clone
Creates a clone out of this property. The cloning is overridden by the subclasses in order to handle cloning of its class variables appropriately.getSecretsContext
Gets the secrets context of this server configuration: the value ofSECRETS_CONTEXT.- Specified by:
getSecretsContextin interfaceISecretsContext- Returns:
- The context, or null when it is not set or not a valid context name (logged SEVERE once): no secret of this configuration is then resolved or stored.
proposeSecretsContext
Proposes the secrets context of this configuration at its first secret-marked member, asserver.<project>.<file base name>(decision P-4 (a)): only when the configuration marks a member secret and has noSECRETS_CONTEXTyet. The Designer calls it before it saves the file, so that the context is written with the first mark; it is an ordinary member afterwards. A server never proposes one: a production configuration carries the name its store was filled under (decision SK3-D-5).- Parameters:
project- The project name, null or empty for none.fileBaseName- The file name without its extension, e.g. "config".- Returns:
- The context set, or null when none was needed.
onPropTreeInitialized
Called when the tree of the configuration file is complete: gives every secret-marked member its value from this machine's secrets store, under this configuration's context (CC-SECRETS-SK3-CONTEXTS, design section 5). A missing value is logged once per key - SEVERE on a production server - and leaves the member unconfigured; the server starts (P-15).- Specified by:
onPropTreeInitializedin interfaceIGProp<GProp<?>[]>- Overrides:
onPropTreeInitializedin classPropCnr- Throws:
IOException- For file errors of the children.PropException- For initialization problems of the children.
getDescription
Gets the description of the Server.- Specified by:
getDescriptionin interfaceIServerSettings- Returns:
- The description, "iiziServer" for default.
setDescription
Sets the description of the server.- Parameters:
descr- New server description, non-null.- Returns:
- true for changes, false for no change.
- Throws:
NullPointerException- ifdescrisnull.
getLogFileName
Gets the log file name.- Returns:
- The log file name, default "logs/server.log".
getMaximumLogFileSize
public long getMaximumLogFileSize()Gets the maximum log file size.- Returns:
- The maximum log file size, zero for no maximum.
getLogLevel
public int getLogLevel()Gets the log level to use.- Returns:
- The log level as defined in
, range isILogtoILog.SEVERE.ILog.FINEST
getLogToConsole
public boolean getLogToConsole()Logging output also to console.- Returns:
- true to write log to console as well as to log file, default true.
getLogHistorySize
public int getLogHistorySize()Gets the history size for events kept in-memory for the server administration program to retrieve.- Returns:
- The number of events, minimum 100, maximum 5000, default 500.
getAdministratorPasswordPolicy
Gets the password policy for administrators.- Returns:
- The password policy settings for administrators.
getSignInModuleID
Gets the application ID of the SignIn module, the only code that may useIUserAuthenticationUI.- Returns:
- The module application ID,
DEFAULT_SIGNIN_MODULEwhen not configured.
isSelfSignUpEnabled
public boolean isSelfSignUpEnabled()Checks if self sign-up with the internal login provider is enabled.- Returns:
- The flag, false by default.
isStaySignedInEnabled
public boolean isStaySignedInEnabled()Checks if a user may stay signed in on a device.- Returns:
- The flag, true by default.
getStaySignedInDays
public int getStaySignedInDays()Gets the days a device stays signed in, and is remembered, from its last use.- Returns:
- The days, 30 by default; a value out of range is the nearest limit.
getTrustDeviceDays
public int getTrustDeviceDays()Gets the days a device is trusted for MFA when the user asks for it.- Returns:
- The days, 30 by default, 0 for no trust; a value out of range is the nearest limit.
getUserPasswordPolicy
Gets the password policy for users.- Returns:
- The password policy settings for normal users.
createPolicyProps
Creates a policy property with the specified atom name.- Parameters:
atom- The atom name.- Returns:
- The policy property.
getWSRedirectCodeHTTP_to_HTTPS
public int getWSRedirectCodeHTTP_to_HTTPS()The return code to use when web server receives HTTP requests to redirect to HTTPS. Can be 0 = no redirection, 301 = moved permanently, 302 = moved temporarily (default).- Specified by:
getWSRedirectCodeHTTP_to_HTTPSin interfaceIServerSettings- Returns:
- A return code of 0, 301 or 302.
setExternalHostName
Sets the external server URL, including protocol and potential port number (if different from protocol port).This setting must be set if the retrieval of the local host name e.g. does not include the domain DNS suffix, or that the name is known on external nets differently than on the internal network. This host name is typically used for the OAuth 2.0 authentication callback URL's.
- Parameters:
extServerURL- The URL to use.- Returns:
- true when this property container has been changed, false otherwise (or for error).
- Throws:
NullPointerException- If extHostName is null.IllegalArgumentException- If extHostName is empty or not valid.
getExternalHostName
Gets the external server URL, including protocol and potential port number (if different from protocol port).This setting must be set if the retrieval of the local host name e.g. does not include the domain DNS suffix, or that the name is known on external nets differently than on the internal network. This host name is typically used for the OAuth 2.0 authentication callback URL's.
- Returns:
- The URL, or null for none.
getAllowedOrigins
Gets the origins allowed to call this server cross-origin and to open a WebSocket, as written in the$allowedOriginssetting;HubOriginsparses the list (CC-FIX-SB-CORS).- Returns:
- The setting as written, or null for none or blank.
setRootDirectory
Sets the root directory for external files. This call is done from a server instance when e.g. the command line overrides the default root in the settings.- Parameters:
root- The new root.- Returns:
- true when this property container has been changed, false otherwise (or for error).
- Throws:
IOException- If the directory does not exist.
getRootDirectory
Gets the root directory for external files. If the directory doesn't exist it will be created.- Specified by:
getRootDirectoryin interfaceIServerSettings- Returns:
- The root directory or "./root" if none is specified. The return String is
nullif the directory cannot be created if not present, or the root is not a readable and writable directory. At the same time, logging will occur.
getWSLogDirectory
Gets the logger directory for web server log files. If the directory doesn't exist it will be created.- Specified by:
getWSLogDirectoryin interfaceIServerSettings- Returns:
- The root directory or "./logs/web" if none is specified. If the return code is
nullit is assumed no logging will be performed. - Throws:
IOException- In case the web server log directory is not valid or cannot be created.
getWSLogsRetainDays
public int getWSLogsRetainDays()Gets the number of days to retain web server log files.- Specified by:
getWSLogsRetainDaysin interfaceIServerSettings- Returns:
- The default is 14, set to zero to disable logging.
getWSLogTimeZone
Gets the time zone ID for logging web server requests.- Specified by:
getWSLogTimeZonein interfaceIServerSettings- Returns:
- The Time Zone ID, or GMT (default).
isDirectoryListingAllowed
public boolean isDirectoryListingAllowed()Flag for directory listing allowed.- Specified by:
isDirectoryListingAllowedin interfaceIServerSettings- Returns:
- The flag allowing directory listing of the web servers root and subdirectories, default false.
useGzip
public boolean useGzip()Flag if Gzip compression should be used in the web server.- Specified by:
useGzipin interfaceIServerSettings- Returns:
- true to enable Gzip (default), false otherwise.
getWSMaxThreads
public int getWSMaxThreads()Get the web server maximum number of threads, default is 200. Range is 20 to 1024, always larger or equal to the minimum threads. An out-of-range value will give the default.- Specified by:
getWSMaxThreadsin interfaceIServerSettings- Returns:
- The maximum number of threads.
getWSMinThreads
public int getWSMinThreads()Get the web server minimum number of threads, default is 8. Range is 20 to 1024, always smaller or equal to the minimum threads. An out-of-range value will give the default.- Specified by:
getWSMinThreadsin interfaceIServerSettings- Returns:
- Minimum number of threads.
getWSReservedThreads
public int getWSReservedThreads()Get the web server number of reserved threads, default to -1. Range is 8-64, or -1 for heuristically determined. An out-of-range value will give the default -1.- Specified by:
getWSReservedThreadsin interfaceIServerSettings- Returns:
- Number of reserved threads or -1 for heuristically determined.
getWSIdleTimeout
public int getWSIdleTimeout()Get the web server maximum thread idle time, default is 60 seconds, 60_000 milliseconds. Range is 5_000 (5 seconds) to 300_000 (5 minutes). An out-of-range value will give the default.- Specified by:
getWSIdleTimeoutin interfaceIServerSettings- Returns:
- Max idle time in ms.
getFileProviderRoot
Gets the root directory relative the server's current directory where to place external files provided for remote usage over the web server.- Returns:
- The root directory name, relative (or absolute path), "wsfiles" as default.
getRealmPropertiesFileName
Gets the file name for the authentication realm properties.- Specified by:
getRealmPropertiesFileNamein interfaceIServerSettings- Returns:
- The file name, or "authentication-realm-properties.txt" if undefined.
getAuthenticationRealm
Gets the realm for authentication.- Specified by:
getAuthenticationRealmin interfaceIServerSettings- Returns:
- The realm string, "iiziServer Authentication" if not defined or empty String.
isBasicAuthenticationEnabled
public boolean isBasicAuthenticationEnabled()Checks if basic authentication should be used.- Specified by:
isBasicAuthenticationEnabledin interfaceIServerSettings- Returns:
- The flag for authentication enabled.
getUrlboxIOAPIKey
Gets the "urlbox.io" API key.You will find this key on your Dashboard when you login to "urlbox.io".
- Returns:
- The configured API key, empty string for none.
getMaxConcurrentThumbnailsRequests
public int getMaxConcurrentThumbnailsRequests()The maximum count of current thumbnail requests to "urlbox.io", default 5.Be careful not to exceed your quota, there are different plans available.
isFileUploadEnabled
public boolean isFileUploadEnabled()Checks if file upload is enabled or not.- Returns:
- The upload enablement flag, false by default.
getMaximumUploadFileSize
public int getMaximumUploadFileSize()Returns the maximum size of any uploaded file in MB.- Returns:
- The file size in MB, default 50 MB.
getFileUploadStagingDirectory
Gets the upload directory where files are placed in a staging area.- Returns:
- The directory name, relative the server's current directory.
getUploadServerQuotaMB
public int getUploadServerQuotaMB()Gets the server-global upload quota.- Returns:
- The quota in MB, 0 for unlimited, default 10240 MB.
getUploadSessionQuotaMB
public int getUploadSessionQuotaMB()Gets the per-application-session upload quota.- Returns:
- The quota in MB, 0 for unlimited, default 1024 MB.
getUploadMaxFiles
public int getUploadMaxFiles()Gets the maximum file count per upload reservation.- Returns:
- A value between 1 and 10000, default 1000.
getUploadChunkSizeKB
public int getUploadChunkSizeKB()Gets the upload chunk size.- Returns:
- A value between 64 and 8192 KB, default 2048 KB.
getUploadIdleTimeout
public int getUploadIdleTimeout()Gets the upload idle timeout.- Returns:
- A value between 60 and 86400 seconds, default 1800.
getUploadStartTimeout
public int getUploadStartTimeout()Gets the upload start timeout.- Returns:
- A value between 10 and 600 seconds, default 60.
getUploadMaxPause
public int getUploadMaxPause()Gets the upload maximum pause time.- Returns:
- A value between 60 and 86400 seconds, default 3600.
getUploadPermittedTypes
Gets the permitted upload media types.- Returns:
- The comma-separated list, empty for any (the default).
getMaximumGeolocationHistorySizePerUser
public int getMaximumGeolocationHistorySizePerUser()Gets the maximum number of geolocation entries per user in the history.- Returns:
- The maximum number of locations, default 100, minimum 10, maximum 10000.
isGeoSessionLogEnabled
public boolean isGeoSessionLogEnabled()Checks if the geolocation of client sessions is logged at connect, reconnect and disconnect.- Returns:
- The flag, default false.
isGeoWebProvidersEnabled
public boolean isGeoWebProvidersEnabled()Checks if the web region location providers (GeoPlugin, IPStack, IPWhoIs) are registered in production.- Returns:
- The flag, default false.
getGeoTrustedProxies
Gets the trusted proxies list whose forwarded headers name the real client address.- Returns:
- The comma-separated list of IP addresses and CIDR prefixes, empty string for none.
isIP2LocationEnabled
public boolean isIP2LocationEnabled()Checks if the local IP2Location database service is enabled.- Returns:
- The flag, default false.
getIP2LocationToken
Gets the IP2Location LITE download token.- Returns:
- The configured token trimmed, empty string for none.
getIP2LocationDatabasePath
Gets the IP2Location database directory.- Returns:
- The directory, relative the server's current directory or absolute, default "IP2Location".
getIP2LocationDatabase
Gets the IP2Location LITE database tier.- Returns:
- The database,
Database.DB11_LITEby default and for an unknown name.
isIP2LocationIPv6Enabled
public boolean isIP2LocationIPv6Enabled()Checks if the IPv6 database is downloaded and loaded as well.- Returns:
- The flag, default false.
isIP2LocationMemoryMapped
public boolean isIP2LocationMemoryMapped()Checks if the databases are accessed as memory-mapped files.- Returns:
- The flag, default true.
getIP2LocationRecoveryAction
Gets the recovery action when error thresholds are exceeded.- Returns:
- The action,
RecoveryConfig.RecoveryAction.NOTIFY_ONLYby default and for an unknown name.
getIP2LocationInitFailureThreshold
public int getIP2LocationInitFailureThreshold()Gets the consecutive initialization failures before recovery.- Returns:
- A value between 1 and 100, default 2.
getIP2LocationLookupErrorThreshold
public int getIP2LocationLookupErrorThreshold()Gets the consecutive lookup errors before recovery.- Returns:
- A value between 1 and 1000, default 10.
getIP2LocationMaxAutoRecoveryAttempts
public int getIP2LocationMaxAutoRecoveryAttempts()Gets the maximum automatic recovery attempts.- Returns:
- A value between 1 and 10, default 3.
getIP2LocationRecoveryCooldownMinutes
public int getIP2LocationRecoveryCooldownMinutes()Gets the cooldown in minutes between recovery attempts.- Returns:
- A value between 5 and 1440, default 60.
isIP2LocationRecoverOnDownloadFailure
public boolean isIP2LocationRecoverOnDownloadFailure()Checks if recovery is attempted after a download failure.- Returns:
- The flag, default false.
isIP2LocationRecoverOnCorruption
public boolean isIP2LocationRecoverOnCorruption()Checks if recovery is attempted on database corruption.- Returns:
- The flag, default true.
isIP2LocationNotifyOnTransientErrors
public boolean isIP2LocationNotifyOnTransientErrors()Checks if listeners are notified on transient errors.- Returns:
- The flag, default false.
getWebEngineGraceDays
public int getWebEngineGraceDays()Gets the grace period before a client whose web engine has a newer version is called behind.- Returns:
- The days, default 30, minimum 0, maximum 365.
getWebEngineDataFile
Gets the web engine support table file that replaces the bundled one.- Returns:
- The file name, relative the server's current directory or absolute, empty string for the bundled table (the default).
isWebEngineRefreshEnabled
public boolean isWebEngineRefreshEnabled()Checks if the first-stable days of the Chrome majors are refreshed online.- Returns:
- The flag, default true.
getClientIdleTimeout
public long getClientIdleTimeout()Gets the timeout before a client session is disposed when it has not processes any transactions, default 2 hours. Range is 2 minutes to 2 days; a configured value outside it is clamped. The idle timeout includes dormant session timeout.- Returns:
- Value in milliseconds, between 120_000L and 172_800_000L.
getClientDormantTimeout
public long getClientDormantTimeout()Timeout before an app session is disposed of when no more client sessions are present, default 10 minutes. Range is 2 minutes to 12 hours; a configured value outside it is clamped.- Returns:
- Value in milliseconds, between 120_000L and 43_200_000L.
getClientHeartBeatInterval
public long getClientHeartBeatInterval()Heartbeat interval to keep the communication link up, default 45 seconds. Range is 30 seconds to 5 minutes, the one rangeSessionMgrdefines andSessionMgr.setupaccepts; a configured value outside it is clamped.- Returns:
- Value in milliseconds, between
SessionMgr.MIN_HEARTBEAT_INTERVAL(30_000L) andSessionMgr.MAX_HEARTBEAT_INTERVAL(300_000L).
getMaximumServerKeyAge
public int getMaximumServerKeyAge()Gets the maximum server key age in days.- Returns:
- A value between 7 and 365 in days.
setCacheParams
public void setCacheParams(int minLength, int maxLength, int count) Sets the parameters for cache: minLength, maxLength, count.- Parameters:
minLength- The minimum length for caching, 7 is the smallest value.maxLength- The maximum length for caching, normally 80 or so (maximum 1024).count- The count should normally be larger than 200 and smaller than 1000 (maximum 2048).- Throws:
IllegalArgumentException- If arguments are not valid.
getCacheParams
public int[] getCacheParams()Gets the cache parameters as 3 integers in an array, param[0] is minLength, param[1] is maxLength, param[2] is count.The default values are minLength=7, maxLength=200, count=700 if nothing is specified.
- Specified by:
getCacheParamsin interfaceIServerSettings- Returns:
- Array of 3 integer parameters, param[0] is minLength, param[1] is maxLength, param[2] is count.
getPortConfigurations
Gets the configured ports.- Specified by:
getPortConfigurationsin interfaceIServerSettings- Returns:
- The array of server port configurations.
getPortConfiguration
Gets the port configuration of a name (CC-FIX-APP-DEFINITIONS): the configuration whosename- itsWebServerPortConfig.NAME, else its atom name - equals the name, case-sensitive.- Parameters:
name- The name.- Returns:
- The port configuration, or null for none.
getAllServerAppConfigs
Gets the application definitions of all environments of the server configuration, in the order of the file (an entry outside its container, before the migration at load, included).- Returns:
- The definitions, empty for none.
findServerAppConfig
Finds the application definition of an ID or an alias, over all environments.- Parameters:
idOrAlias- The application ID or one of its aliases.- Returns:
- The definition, or null when no environment defines it.
checkApplicationDefinitions
Checks the application definitions of all environments for duplicates: an application ID and every alias must be unique among ALL IDs and aliases of ALL environments (a server runs several environments at once and an application reference carries no environment). The server does not start with a duplicate; iiziGo reports it as an ERROR on both entries.- Parameters:
verification- The verification to report the ERRORs into, null for none.- Returns:
- The messages, one per duplicate, empty for none.
getLetsEncryptDomains
Gets the Let's Encrypt domains.- Returns:
- The array of Let's Encrypt domains.
getDefaultServerConfigurationEnvironmentName
Gets the default Server configuration environment name.- Returns:
- The defined default Server configuration environment name, or "default" if such definition is not done.
getServerConfigEnvironment
Gets the configuration environment of a name.- Parameters:
name- The name (e.g. "test", "development" or "production"), ornullfor default configuration environment name.- Returns:
- The configuration setup, or null if not found.
getServerConfigEnvironments
Gets the array of configuration environments present.onServerSettingsChanged
protected void onServerSettingsChanged()Called when loaded to update the ServerProps instance.getDBCacheMaxFileCount
public int getDBCacheMaxFileCount()Gets the maximum number of cached database files.- Returns:
- Maximum number of files, minimum 100, default 10_000.
getDBCacheMaxFileAge
public long getDBCacheMaxFileAge()Gets the maximum file age of cached database files.- Returns:
- Maximum age in milliseconds of files: minimum 1 hour, default 90 days.
verify
Verifies this property container. The check performed is the extension of classes and that no circular reference is present.onApplicationLoad
Called when the application is loaded.- Parameters:
app- The application factory.- Throws:
ServerApplicationSetupException- For setup exceptions.
onApplicationUnload
Called when the application is unloaded.- Parameters:
app- The application begin unloaded.
onApplicationSessionStarted
Called when an application is instantiated and started by a user session.onApplicationSessionStopped
Called when an application is stopped.getMailSender
public MailSender getMailSender(String name, ExecutorService executorService, File baseDir) throws NotFoundException, AddressException, NoSuchProviderException, IOException Gets the mail sender with the specified name.- Parameters:
name- The mail properties name,nullfor default.executorService- The executor service.baseDir- The base directory where the server is (generally current directory).- Returns:
- The mail sender.
- Throws:
NotFoundException- If the mail sender is not found.IOException- If the mail queue directory does not exist.NoSuchProviderException- If the "smtp" or "smtps" providers do not exist!AddressException- If the default sender failed to parse.
getRegionLocationGlobalCacheSize
public int getRegionLocationGlobalCacheSize()Gets the global cache size for the region location service providers.- Returns:
- A value between 100 and 100_000, default is 20_000.
getRegionLocationAPIKey