Application configuration for Session Pool
This is application configuration related to Session Pool in webswing.config.
| Admin console label | Config field Id | Description | Default value | Type | Variable replacement |
|---|---|---|---|---|---|
| Enabled | enabled | If true, this application will be available in the Session-pool. | true | boolean |
|
| Home Folder | homeDir | Application's home directory. This will be the base directory of any relative classpath entries specified. | ${user.dir} | String |
✅ |
| Theme | theme | Select one of the default window decoration themes or a enter path to a XFWM4 theme folder. | String Values: "Murrine", "Agualemon", "Sassandra", "Therapy", "Totem", "Vertex", "Vertex-Light" |
✅ | |
| Fonts | fontConfig | Customize logical font mappings and define physical fonts available to application. These fonts (TTF only) will be used for DirectDraw as native fonts. Key: name of font (e.g. dialog|dialoginput|sansserif|serif|monospaced), Value: path to font file. | Map<String, String> Values: "dialog", "dialoginput", "sansserif", "serif", "monospaced" |
✅ | |
| DirectDraw Rendering | directdraw | DirectDraw rendering mode uses canvas instructions to render the application instead of server-rendered png images. DirectDraw improves performance but is not recomended for applications with lot of graphics content. | true | boolean |
|
| Enable Debug Mode | debug | Enables remote debug for this application. To start the application in debug mode use '?debugPort=8000' url param. | false | boolean |
|
| Enable Test Mode | testMode | Enables test mode for this application to be able to test it in Webswing Test Tool. | false | boolean |
|
| Working Directory | userDir | The User working directory. Path from which the application process will be started. (See the Java System Property: 'user.dir') | String |
✅ | |
| JRE Executable | jreExecutable | Path to java executable that will be used to spawn application process. Java 8, 11, 17 and 21 are supported. | ${java.home}/bin/java | String |
✅ |
| Java Version | javaVersion | Java version of the JRE executable defined above. Expected values are starting with '1.8', '11', '17' or '21'. | ${java.version} | String |
✅ |
| Class Path | classPathEntries | Application's classpath. Absolute or relative path to jar file or classes directory. At least one classPath entry should be specified containing the main class. Supports ? and * wildcards. | List<String> |
✅ | |
| System Class Path | systemClassPathEntries | System Class Path to include libraries with custom JCE, JAAS or similar service provider implementation. Supports ? and * wildcards. | List<String> |
✅ | |
| JavaFX Support | javaFx | Enables native or embedded JavaFX framework support. | false | boolean |
|
| JavaFX Version | javaFxVersion | Version of JavaFX libraries used. Expected values are starting with '1.8', '11', '17' or '21'. | 11 | String |
✅ |
| JavaFX embedded in JDK | javaFxEmbeddedInJdk | Enable if JavaFX libraries are included in JDK that is used to start the app. In that case JavaFX classpath is not used. | false | boolean |
|
| JavaFX Classpath | javaFxClassPathEntries | (Only valid for Java 11+) JavaFX jar libraries to be included in classpath. Supports ? and * wildcards. | List<String> |
✅ | |
| JVM Arguments | vmArgs | Commandline arguments processed by Java Virtual Machine. (e.g. '-Xmx128m') | String |
✅ | |
| Launcher System Properties | launcherSystemProperties | System properties installed when the Session is launched - ie. when the session is assigned to User. Used to define user specific system properties for Idle sessions. (e.g. '-Dworkspace=/tmp/${user}' or '-Dapp.locale=${clientLocale}' | String |
✅ | |
| Launcher Type | launcherType | Select the application type. Applet, regular Desktop Application, SWT Application or Oracle Forms applet. | Desktop | LauncherType Enum Values: Applet, Desktop, Swt, OracleForms |
|
| Launcher Configuration | launcherConfig | Launcher type specific configuration options | AppletLauncherConfig DesktopLauncherConfig SwtLauncherConfig |
||
| Pre-launch | prelaunchType | Select type of app pre-launch. 1. NONE: No pre-launch process applied. 2. MAIN_CLASS: Use 'mainClass' and 'args' from Desktop launcher config to start the application in pre-launch phase. Select this to speed up connecting user to an idle instance. 3. CUSTOM: Define custom pre-launch main class and args to be executed in pre-launch phase before the app main is executed. Use this to bootstrap your application with Webswing-specific code. | NONE | PrelaunchType Enum Values: NONE, MAIN_CLASS, CUSTOM |
|
| Pre-launch Main Class | prelaunchMainClass | Main class to execute as part of instance process startup. Use this if you want to prepare your application before launch, especially when using IDLE instances. Note that call to this main class is still without user context, no user-related information is available at this point. | String |
✅ | |
| Pre-launch Main Arguments | prelaunchMainArgs | Pre-launch main method arguments. This string will be passed to the pre-launch main method's (String[] args). | String |
✅ | |
| Session Timeout | swingSessionTimeout | Specifies how long (seconds) will be the application left running after the user closes the browser. User can reconnect in this interval and continue in last session. | 300 | int |
|
| Timeout if Inactive | timeoutIfInactive | If True, then inactivity of User for longer then defined 'Inactivity Timeout' period will trigger the defined 'Inactivity Action'. | false | boolean |
|
| Inactivity Timeout | inactivityTimeout | Defines how long (in seconds) can user stay inactive (no mouse or keyboard events) before the 'Inactivity Action' is triggered | int |
||
| Inactivity Action | inactivityAction | Specifies the behavior on user inactivity. 1. 'SHUTDOWN' will terminate the session. 2.'DISCONNECT' will disconnect the user. 3. 'LOCK' will lock user session while keeping it connected with lock-screen overlay displayed. Unlock requires user re-login. | SHUTDOWN | InactivityAction Enum Values: SHUTDOWN, DISCONNECT, LOCK |
|
| Idle Instances | idleInstancesCount | How many idle instances should be started in background waiting for user connection. Please read the documentation for restrictions that apply to idle instances. | 0 | int |
|
| Session Logging | sessionLogging | If enabled, sessions are logged into a separate log file. | false | boolean |
|
| Maximum Session Logs Size | sessionLogMaxFileSize | Maximum size of all session log files. After file size is exceeded, old log files are deleted. | ${webswing.sessionLog.maxSize:-1000MB} | String |
✅ |
| Session Log Size | sessionLogFileSize | Maximum size of a single session log file. | ${webswing.sessionLog.size:-10MB} | String |
✅ |
| Statistics Logging | allowStatisticsLogging | If enabled, statistics will be logged for sessions. | true | boolean |
|
| Isolated Filesystem | isolatedFs | If true, file chooser dialogs will be restricted to access only the 'Upload Folder' of current application. | true | boolean |
|
| Uploading Files | allowUpload | If selected, the JFileChooser integration will allow users to upload files to folder opened in the file chooser dialog | true | boolean |
|
| Deleting Files | allowDelete | If selected, the JFileChooser integration will allow users to delete files displayed in the file chooser dialog | true | boolean |
|
| Downloading Files | allowDownload | If selected, the JFileChooser integration will allow users to download files displayed in the file chooser dialog | true | boolean |
|
| Auto-Download from Save Dialog | allowAutoDownload | If selected, the JFileChooser dialog's save mode will trigger file download as soon as the selected file is available on filesystem. This feature doesn't work reliably in Linux/MacOS environment. | false | boolean |
|
| Transparent Open File Dialog | transparentFileOpen | If selected, the JFileChooser dialog's open mode will open a client side file browser and transparently upload selected files and triggers selection. | true | boolean |
|
| Transparent Save File Dialog | transparentFileSave | If selected, the JFileChooser dialog's save mode will open a client side dialog to enter the file name to be saved. | true | boolean |
|
| Upload Folder | transferDir | If Isolated Filesystem is enabled. This will be the folder on the server where the user can upload and download files from. Multiple folders can be defined using path separator (${path.separator}) | ${user}/upload | String |
✅ |
| Clear Upload Folder | clearTransferDir | If enabled, all files in the 'Upload Folder' will be deleted when the application process is terminated. | true | boolean |
|
| Thread Dumps Folder | threadDumpsFolder | Folder to be used to store application thread dumps. | ${" + Constants.ROOT_DIR_PATH + "}/datastore/dumps | String |
✅ |
| Recordings Folder | recordingsFolder | Folder to be used to store application recordings. | ${" + Constants.ROOT_DIR_PATH + "}/datastore/recordings | String |
✅ |
| Allow JsLink | allowJsLink | If enabled, the JSLink feature will be enabled, allowing application to invoke javascript and vice versa. (See org.webswing.toolkit.api.jslink.JSObject in Webswing API) | false | boolean |
|
| JsLink White List | jsLinkWhitelist | List of allowed Java classes. Calls to declared methods of these classes are allowed via JsLink. Supports trailing * wildcard. Use single * entry to allow any class. Leave empty to disallow everything. E.g. org.webswing.* | List<String> |
||
| Allow Local Clipboard | allowLocalClipboard | Enables built-in integration of client's local clipboard. Due to some browsers security limitations clipboard toolbar may be displayed. | true | boolean |
|
| Allow Server Printing | allowServerPrinting | Enables native printing on devices configured on server's OS. If disabled a pdf is generated and sent to client browser. | false | boolean |
|
| Embed Fonts in PDF | fontEmbeddingEnabled | Embed fonts defined in font configuration into printed PDF file. | false | boolean |
|
| Docking Mode | dockMode | Select the mode for undocking windows to a separate browser window: 1.ALL: all windows can be undocked. 2.MARKED: only windows marked with WebswingDockableWindow interface can be undocked. 3.NONE: disable undocking | NONE | DockMode Enum Values: ALL, MARKED, NONE |
|
| Docking Type | dockType | Select the default type of undocked window: 1.POPUP: undocked window opens in a popup. 2.TAB: undocked window opens in a new tab | POPUP | DockType Enum Values: POPUP, TAB |
|
| Multi-screen Support | multiScreenSupportEnabled | Enables multi-screen support. Provides extended user screen information in Webswing API and let's you position undocked windows on any user screen. Currently works in Chrome and Edge browsers. | false | boolean |
|
| Advanced Settings | advancedSettings | Set advanced app settings. | List<AppSettingsEntry> |
||
| BlackList | blacklist | Blacklisted features | List<String> |
||
| WhiteList | whitelist | Whitelisted features | List<String> |
AppletLauncherConfig
| Admin console label | Config field Id | Description | Default value | Type | Variable replacement |
|---|---|---|---|---|---|
| Applet Class | appletClass | Applet's fully qualified main class name. Must implement the java.applet.Applet interface. (ie. 'com.mypackage.MyApplet') | String |
✅ | |
| Applet Parameters | parameters | Applets start parameters. Set of key-value pairs accessible to applet at startup. | Map<String, String> |
✅ |
DesktopLauncherConfig
| Admin console label | Config field Id | Description | Default value | Type | Variable replacement |
|---|---|---|---|---|---|
| Main Class | mainClass | Swing application fully qualified class name. (ie. 'com.mypackage.Main') | String |
✅ | |
| Main Arguments | args | Swing application main method arguments. This string will be passed to the main method's (String[] args) | String |
✅ |
SwtLauncherConfig
| Admin console label | Config field Id | Description | Default value | Type | Variable replacement |
|---|---|---|---|---|---|
| Main Class | mainClass | SWT application's fully qualified main class name. (ie. 'com.mypackage.Main') | String |
✅ | |
| Main Arguments | args | SWT application's main method arguments. This string will be passed to the main method's (String[] args) | String |
✅ | |
| SWTSwing Library Path | swtSwingLibraryPath | SWTSwing Library classpath. Absolute or relative path to jar file. (https://github.com/Chrriis/SWTSwing) | ${webswing.rootDir}/apps/swt/SwtSwingLibrary.jar | String |
✅ |
AppSettingsEntry
| Admin console label | Config field Id | Description | Default value | Type | Variable replacement |
|---|---|---|---|---|---|
| Setting | setting | String |
|||
| Value | value | String |
✅ |
App Settings
| Name | Description | Default value | Type |
|---|---|---|---|
| directdraw.drawStringAsPath | Enable to draw all text as vector paths. Applied when DirectDraw is turned on. | boolean | |
| directdraw.encodedImageCacheSizeMB | Size limit (MB) of encoded DirectDraw image 2nd level cache. This is a maximum size of the entire cache, not a single image. | 5 | int |
| directdraw.fontsProvided | Enable if you provide fonts used in DirectDraw rendering directly in index.html. This allows for the fonts to be cached client-side and not downloaded every time from server when the app starts. | boolean | |
| directdraw.serverSideGradients | If enabled, gradients will be rendered in Java and painted as texture in browser. Workaround for gradient implementation differences between Java and browser. Applied when DirectDraw is turned on. | boolean | |
| webswing.accessibilityDisableOverride | Set to true, if you want to disable accessibility for this app. It will not be possible to enable accessibility by user pressing 5 times CTRL. | boolean | |
| webswing.allowRedirectStdOut | Allows application code to change System.out and System.err streams, which is by default blocked by Webswing for log capturing. | boolean | |
| webswing.audio.checker.interval | Interval (ms) which checks audio files that were started if they are still playing. | 3 | long |
| webswing.audio.playback.timeout | Timeout (ms) after which the audio file is considered as stopped, if there is no signal from frontend that the audio file is playing. | 10000 | long |
| webswing.audio.validation.enabled | Validate audio files handled by Webswing. Validation is possible only in case of WAV files. | boolean | |
| webswing.bootClassPathExtension | Add custom entries to be appended to boot class path. | string | |
| webswing.browser.heartbeat.interval | Interval (ms) which sends heartbeat app -> browser. | 1000 | long |
| webswing.classModificationBlacklist | Path to a file containing list of all classes Webswing can skip analyzing for required bytecode modification to speed up class loading. This file is by default automatically generated in temp folder with .unmodified_classes suffix by first app session. | string | |
| webswing.clearClipboardOnDisconnect | Clear app clipboard contents when app is disconnected from browser. Useful for CONTINUE_FOR_ANYONE session mode, when you want to make sure the next user of the disconnected app doesn't get access to app clipboard. | boolean | |
| webswing.closeTab.checker.interval | Interval (ms) which checks if an undocked browser window can be closed after the Swing window has been closed. In case of app exit with only undocked windows, one of the browser windows should stay open. This interval decides which browser window can be closed. | 1000 | long |
| webswing.closeUndockedModalChildren | When undocked browser window is closed, close also windows that have the original window as parent. | true | boolean |
| webswing.convertClipboardEoln | Convert '\r\n' in clipboard text to '\n'. | true | boolean |
| webswing.customInputElements | Comma-separated list of class names of components that should behave like text components. | string | |
| webswing.ddConstCacheSize | Initial size of DirectDraw cache pool where non-Image constants are stored. The size can be increased if exceeded until MAX. | 8192 | int |
| webswing.ddFallbackThreshold | If number of vector graphics intructions exceeds threshold, rendering will fallback to PNG mode. | -1 | int |
| webswing.ddImageCacheSize | Initial size of DirectDraw cache pool where Image constants are stored. The size can be increased if exceeded until MAX. | 128 | int |
| webswing.ddMaxConstCacheSize | Maximum size of DirectDraw cache pool if initial size is exceeded. Applies to both cache pools. RuntimeException is thrown in case maximum has been reached and cache pool requests another increase. | 262144 | int |
| webswing.directTransfer.download.chunkSize | Size (bytes) of a single chunk that is sent at a time in direct transfer download. | 131072 | int |
| webswing.directTransfer.unfinished.expiration | Timeout (ms) after which an unfinished direct transfer (download or upload) is considered expired. | 120000 | long |
| webswing.directTransfer.unfinishedChecker.interval | Interval (ms) which checks for unfinished direct transfers expiration. | 60000 | long |
| webswing.doubleClickDistanceThreshold | Max Distance (px) between 2 mouse click events to be considered double-click. | 2 | int |
| webswing.doubleClickMaxDelay | Timeout (ms) during which 2 mouse click events to be considered double-click. | 750 | long |
| webswing.downloadDirectories | Allow users to download directories. Default is false. | boolean | |
| webswing.dpr.downscale.threshold.height | Threshold beyond which the rendered image is scaled to prevent enormous images to be rendered server side. Applied when DirectDraw is turned off. | 2160 | int |
| webswing.dpr.downscale.threshold.width | Threshold beyond which the rendered image is scaled to prevent enormous images to be rendered server side. Applied when DirectDraw is turned off. | 3840 | int |
| webswing.dynamicPaintAckTimeout | Optimizes rendering process for connections with high latency. | true | boolean |
| webswing.eagerLayoutValidation | Instructs the WebRepaintManager to schedule component validation immediately after it is marked invalid. (By default WRM waits for browser-ready notification) | boolean | |
| webswing.edtTimeout | Timeout (s) after which a thread dump will be created because EDT thread is stuck. | 10 | int |
| webswing.encodingFormat | Encoding format of server-side rendered images when DirectDraw is turned off. Possible values are PNG and WEBP. | PNG | string |
| webswing.focusableHwPopups | If true, Webswing will make all HW popups focusable. Webswing enforces the use of heavyweight popups everywhere and these are not focusable by default. | true | boolean |
| webswing.heartbeatTimeout | Timeout (ms) to wait before app shuts itself down after the last received heartbeat from session pool. | 60000 | long |
| webswing.hideUndockInDecoration | Hide undock/dock buttons in window decoration allowing to control undock state only with Java/JS API. | false | boolean |
| webswing.logLevel | Set app logger level: 0 - TRACE, 1 - DEBUG, 2 - INFO, 3 - WARNING, 4 - ERROR, 5 - FATAL. | 2 | int |
| webswing.mirroring.allow | Custom text for 'Allow' button in mirror consent dialog. | Allow | string |
| webswing.mirroring.deny | Custom text for 'Deny' button in mirror consent dialog. | Deny | string |
| webswing.mirroring.message | Custom text for mirror consent dialog message. | Administrator wants to mirror and take control of your session. Do you want to allow the mirroring? | string |
| webswing.mirroring.title | Custom text for mirror consent dialog title. | Session mirroring | string |
| webswing.optimizeCaret | Sets caret blink rate to 0. | boolean | |
| webswing.optimizeFindClass | Optimize findClass method in SwingClassloader. Class loading is faster but JavaClass.class.getProtectionDomain().getCodeSource() returns null, which can lead to exceptions at runtime. | boolean | |
| webswing.paintAckTimeout | Timeout (ms) during which a render frame acknowledgment must be received. If not received in time, the render cycle will be reset. Every render frame is sent from server only if the previous render frame has received an acknowledgement. | 5000 | long |
| webswing.pdfService.freeHep | Use FreeHEP PDF writer library instead of Quoppa jPDFWriter. | boolean | |
| webswing.platformIcons | Path to folder where ShellFolderManager icons are stored. The default resource folder is provided by Webswing. | webswingplatformicons | string |
| webswing.print.textAsShapes | Print PDF text as shapes instead of printing text with default font. This results in higher PDF size, no text selection possible, but exact font rendering. Consider using embedded fonts feature for exact font rendering, text selection and small size of PDF. | true | boolean |
| webswing.recording.allow | Custom text for 'Allow' button in recording consent dialog. | Allow | string |
| webswing.recording.deny | Custom text for 'Deny' button in recording consent dialog. | Deny | string |
| webswing.recording.message | Custom text for recording consent dialog message. | Administrator wants to record your session. Do you want to allow the recording? | string |
| webswing.recording.title | Custom text for recording consent dialog title. | Session recording | string |
| webswing.render.componentOptimization | Enable rendering optimization for chosen components inside JDesktop JInternalFrames. Applied when DirectDraw is turned off. | boolean | |
| webswing.render.componentOptimization.types | Comma-separated list of class names of component types that should be optimized in JDesktop component optimization. Applied when DirectDraw is turned off. | string | |
| webswing.render.crop | Enable rendering optimization that sends image with cropped empty spaces. Applied when DirectDraw is turned off. | boolean | |
| webswing.render.diff | Enable rendering optimization that sends only difference from previous image. Applied when DirectDraw is turned off. | boolean | |
| webswing.resilientLogPollingPeriod | Period for polling logs written by resilient process to <session_log_name>.out which are then copied to actual session log. | 500 | long |
| webswing.screenHeight | Default minimum height of graphics screen. | 300 | int |
| webswing.screenWidth | Default minimum width of graphics screen. | 300 | int |
| webswing.simulateClipboardActionEvents | Simulate TransferHandler.getCopyAction() instead of simulating CTRL+C keyboard event. Unlike keyboard events you cannot listen to action events. Enable this when having issues with handling clipboard shortcuts on different platforms. | false | boolean |
| webswing.skipIdleSession | If value of this argument is true, user will always get a new session even if idle sessions are enabled and available. Supports variables including user attributes (ie. ${user.someAttribute}) | boolean | |
| webswing.swingSystemSelectionEnabled | Enable system selection. | boolean | |
| webswing.syncCallTimeout | Timeout (ms) after which synchronous messages sent from app to server will be considered undelivered (without response). | 3000 | long |
| webswing.transfer.dir | Transfer dir (upload folder) configured in App config when using isolated FS. See App config for details. | string | |
| webswing.undock.checker.interval | Interval (ms) which handles undock requests from frontend. | 500 | long |
| webswing.undock.request.timeout | Timeout (ms) after which an undock request is discarded. | 10000 | long |
| webswing.undockDelayAfterClose | Delay (ms) of reopening an undocked window which has been closed (browser tab/window) and is still visible. | 500 | long |
| webswing.uploadDirectories | Allow users to upload directories. Default is false. | boolean | |
| webswing.useSharedUserHome | Automatically updates user.home system property to match first entry in transfer dir (upload folder) when using isolated FS. | boolean | |
| webswing.waitForExit | Timeout (ms) before the app is destroyed by server after the app signals to exit. | 30000 | int |
| webswing.webpQuality | Quality of WEBP image encoding. Integer value from range 1-100. Applied when DirectDraw is turned off and WEBP encoding format is selected. | 1 | int |