list
logo

System Properties

Following system properties can be used to change the defaults of Webswing.

Webswing Server and Webswing Cluster Server

Set these in server startup script.

Property Description Default Value
webswing.warLocation Location of WAR file
webswing.rootDir Root directory ${user.dir}
webswing.propertiesFile Path to properties file (including file name)
webswing.configFile Path to config file (including file name)
webswing.configReloadIntervalMs Number of milliseconds for config reload interval 1000
webswing.defaultWelcomePage Path to default welcome page resource to show when "/" is accessed /selector/index.html
webswing.fileServletWaitTimeout Number of milliseconds to wait for a file to be ready for download 300000
webswing.proxyContextPath Explicit servlet context path
webswing.httpsOnly Force https only, sets cookies as Secure and SameSite to NONE by default true if config has https enabled and http disabled
webswing.cookieSameSite Value for SameSite cookie attribute if server runs in HTTPS only mode NONE
webswing.disableHttpSecurityHeaders Disable HTTP security headers - X-Frame-Options, X-Content-Type-Options, X-XSS-Protection, Referrer-Policy, Strict-Transport-Security false
webswing.keep.instances How many closed instances should be kept in memory. The instances can be viewed in Admin Console (-1 for infinite) -1
webswing.websocketMessageSizeLimit Maximum size of websocket message in bytes 1048576
webswing.websocketMessageTimeout Timeout for the websocket message to be sent in milliseconds 30000
jetty.request.header.size Number of bytes as maximum request/response header size when using embedded Jetty 524288

Domain-based application mapping

Set these JVM properties in the Webswing Server or Cluster Server startup script and restart the server after changing them.

Property Description Default Value
webswing.subdomainConfigPaths Use public domain names as application configuration paths and select applications from the forwarded host. false
webswing.subdomainsPublicProtocol Protocol used in public application URLs when domain-based mapping is enabled. http

See One Webswing server for multiple domains for configuration and proxy requirements.

Built-in XHeadless

Configure this in webswing.properties for the standalone server or webswing-sessionpool.properties for each Session Pool. The supplied files contain the default as a commented setting. A JVM -D argument takes precedence over the file. Restart that server or Session Pool after changing the setting.

Property Description Default Value
webswing.xheadless.enabled Automatically provide a built-in display on headless Linux when no display is configured or the configured local display is missing. Set to false to require an external X server configured through DISPLAY. true

See XHeadless for display selection and recovery behavior.

Drop-in applications

Configure these in webswing.properties for the standalone or Cluster Server and in webswing-sessionpool.properties for every Session Pool. Cluster roles must use the same logical drop-in location; relative directory values are resolved against that role's webswing.rootDir.

Property Description Default Value
webswing.dropin.autodeploy.enabled Automatically install and register flat application ZIPs found in the drop-in directory. Set to false to keep already registered drop-in applications available without scanning or installing ZIPs. true
webswing.dropin.dir Drop-in archive and installation directory. May be absolute or relative to webswing.rootDir. apps

Automatic registration is performed once for each root configuration. Removing a drop-in application from the Admin Console, or removing its reference directly from the root configuration file, unregisters it without deleting the ZIP or extracted application folder. Later scans and restarts do not restore the removed reference. To register the application again, restore its ${webswing.dropin.dir}/<application> reference in the root configuration.

Server Statistics

Set these in server startup script.

Property Description Default Value
webswing.stats.interval Granularity of the metrics, average of last N seconds 10
webswing.stats.historySize Number of observations kept in memory 60
webswing.stats.memUsageWarn Threshold to generate a memory usage warning 0.8 (80%)
webswing.stats.latencyWarn Threshold to generate a network latency warning (milliseconds) 700
webswing.stats.pingWarn Threshold to generate a ping warning (milliseconds) 500

Application

To configure advanced settings for application instance, see Advanced Settings field in Admin Console app config.

Advanced Settings Table

Advanced settings

JWT

In order for the custom configuration to work, you must set the custom values on every module - Webswing Server (Cluster Server), Admin Console Server, Session Pool.

Property Description Default Value
webswing.jwt.serialization.gzip Use GZIP compression of JWT token true
webswing.jwt.serialization.binary Use binary serialization of JWT token true
webswing.jwt.serialization.encryption Use encryption of JWT token true
webswing.jwt.compression Enable JWT token compression true
webswing.jwt.audience Audience claim used for Webswing JWT tokens webswing
webswing.jwt.token.handshake.expiration Expiration of handshake token in milliseconds 60000
webswing.jwt.token.access.expiration Expiration of access token in milliseconds 300000
webswing.jwt.token.refresh.expiration Expiration of refresh token in milliseconds 1800000
webswing.jwt.token.loginSession.expiration Expiration of login session token in milliseconds 300000
webswing.jwt.token.unlockSession.expiration Expiration of unlock-session token in milliseconds 300000
webswing.jwt.token.adminConsoleAccess.expiration Expiration of admin console access token in milliseconds 300000
webswing.jwt.token.adminConsoleRefresh.expiration Expiration of admin console refresh token in milliseconds 1800000
webswing.jwt.token.threadDump.expiration Expiration of admin console thread dump token in milliseconds 1800000
webswing.jwt.token.recording.expiration Expiration of admin console recording-file token in milliseconds 1800000
webswing.jwt.token.logs.expiration Expiration of admin console logs-file token in milliseconds 1800000
webswing.jwt.clockskew.seconds Set maximum clock skew interval between servers in seconds 180
webswing.jwt.adminConsole.accessId.expiration Expiration of admin console access id used in login process in milliseconds 300000