Documentation forWeb Help Desk

JVM arguments

The information on this page applies only to WHD 2026.2.1. For guidance related to other versions, see Web Help Desk Previous Version Documentation.

JVM arguments are flags that are passed to the Java Virtual Machine when the backend starts. In WHD 2026.2.1, do not use JAVA_OPTS in whd.conf (legacy). Instead, configure JVM arguments in the platform startup files based on your operating system.

  • Linux: /opt/webhelpdesk/service/linux/whd-backend.service (in ExecStart)

    For example, on Linux, add a custom JVM property in ExecStart:

    ExecStart=/opt/webhelpdesk/bin/jre/bin/java \ 
    
        -DWHDdemo=true \ 

    (All other ExecStart args remain unchanged.)

  • macOS: /opt/webhelpdesk/service/macos/com.solarwinds.whd.backend.plist (in ProgramArguments)

  • Windows: <WHD_HOME>\bin\run-backend-with-env.bat (append to JVM_ARGS)

    For example, on Windows, edit <WHD_HOME>\bin\run-backend-with-env.bat:

    set "JVM_ARGS=%JVM_ARGS% -DWHDdemo=true" 

Table of arguments

The number to use for each line depends on your particular configuration. Additionally, if you are adding arguments, you must use -D<argument>.

Argument Value Default Description

(All Spring Boot properties in <WHD_HOME>/conf/application.properties) Properties defined in conf/application.properties override the defaults in whd.jar.

 

 

Database connection properties are configured in conf/whd.env (WHD_DB_HOST, WHD_DB_PORT, WHD_DB_NAME, WHD_DB_USER, WHD_DB_PASSWORD) and can also be overridden in conf/application.properties. JVM system properties can be used as a fallback for advanced configurations.

org.apache.tomcat.util.
http.ServerCookie.ALLOW_
HTTP_SEPARATORS_IN_V0

true | false

false

This argument is not required in WHD 2026.2.1. Cookie parsing is handled by the Spring Boot embedded server (not Tomcat standalone). Special characters in session cookies are managed automatically.

activemq.broker.port

<port>

61616

Not applicable in WHD 2026.2.1. ActiveMQ is not used. Background task scheduling uses Spring Boot @Scheduled tasks configured via whd.scheduler.* properties in conf/application.properties.

whd.stdDeploy

true | false

false

Indicates that Web Help Desk is running in a standard deployment. Standard deployment is the default configuration the Web Help Desk installer provides, with an Spring Boot backend at <WHD_HOME>/bin/, the Web Help Desk application at <WHD_HOME>/bin/, and the configuration files at <WHD_home>/conf/. The Web Help Desk start script automatically supplies this parameter.

WHDApnDevMode

true | false

false

Identifies whether the development-mode Apple Push Notifications certificate should be used. When WHD Mobile is in development, the dev-mode certificate must be used. When it is downloaded from the App Store, the production certificate must be used (default).

WHDDaemonMode

background | dedicated | none

none

Legacy: Read by SystemInformationServiceImpl for diagnostic reporting only. Does not control scheduling behavior in 2026.2.1. Background task scheduling is handled by Spring Boot @Scheduled components configured in conf/application.properties (whd.scheduler.*)

WHDdemo

true | false

false

Determines whether Web Help Desk should run in demo mode. Running in demo mode, disables certain features such as database and log settings and the ability to save Setup menu changes. Also replaces occurrences of DemoSandbox.woa in URLs with the name of the application as defined in WebObjects Monitor (plus .woa).

WHDDisableExternalAuth

true | false

false

Deprecated key name. Use whd.disable-external-auth=true as the current Spring/application property to disable external auth regardless of Setup > General > Authentication.

WHDDisableSessionHeartbeat

true | false

false

Not applicable in WHD 2026.2.1. Session heartbeat handling is managed by the Next.js frontend and Spring Boot Security. The Helpdesk.woa WebObjects endpoints do not exist in 2026.2.1.

When the amount of time specified by WHDHeartbeatTimeoutSeconds has passed without receiving a heartbeat, the ticket editing session is considered to have been abandoned, and editing locks for the ticket are cleared.

Not applicable in WHD 2026.2.1. Session heartbeat handling is managed by the Next.js frontend and Spring Boot Security. The Helpdesk.woa WebObjects endpoints do not exist in 2026.2.1.

WHDEmailCheckInterval

<seconds>

60
(min 15)

Deprecated. Use whd.scheduler.emailticket.interval in conf/application.properties instead (value in milliseconds, e.g. 60000 = 60 seconds).

WHDEnableSQLTool

true | false

false

Prescribes whether the SQL tool debug endpoint is accessible. In WHD 2026.2.1, debug endpoints are available via the Swagger UI at https://localhost/swagger-ui/ (accessible from localhost only by default). The legacy Helpdesk.woa/wa/DBActions/sqlTool URL does not exist in 2026.2.1.

WHDHeartbeatTimeoutSeconds

<seconds>

120

Identifies the amount of time without receiving a heartbeat until a ticket editing session is considered to have been abandoned.

WHDHeartbeatWarningCount

<integer>

30

Prescribes the number of ticket editor heartbeats until a warning message is logged. (Used for troubleshooting.)

WHDhosted

true | false

false

(Hosted) Determines whether Web Help Desk should run in hosted mode. When running in hosted mode, the Web Help Desk hosted password must also be provided. Hosted mode requires an account ID to be included in the login URL, and disables certain features (e.g., database and log settings).

Only customers who are authorized hosting providers have access to Web Help Desk hosted features.

WHDhostedDbHost

 

 

Deprecated. No longer used. Use WHD_DB_HOST in conf/whd.env instead.

WHDhostedDbName

 

 

Deprecated. No longer used. Use WHD_DB_NAME in conf/whd.env instead.

WHDhostedDbPassword

 

 

Deprecated. No longer used. Use WHD_DB_PASSWORD in conf/whd.env instead.

WHDhostedDbUserName

 

 

Deprecated. No longer used. Use WHD_DB_USER in conf/whd.env instead.

WHDMaxHeartbeatCount

<integer>

10000

Defines the maximum number of heartbeats that should be sent from a given ticket editing session.

WHDPrivateBaseUrl

<url>

 

Provides the URL to use for backend communication between helpdesk and whd-web applications. This is constructed automatically by the WHD start scripts. Typically configured as "http://localhost:<port>" or "https://localhost:<secure_port>," where <port> and <secure_port> are the WHD HTTP ports configured in conf/whd.env.

WHDSecondsBetweenHeartbeat

<seconds>

55

Not applicable in WHD 2026.2.1. Session heartbeat handling is managed by the Next.js frontend and Spring Boot Security. The Helpdesk.woa WebObjects endpoints do not exist in 2026.2.1.

Access an Office365 email account on a GCCH/Azure Government tenant

U.S. Federal government agencies install computer systems in a Microsoft 365 Government Community Cloud High (GCCH) environment to comply with the U.S. government requirements for cloud services. These computer systems can use OAuth to connect to an Exchange/Office365 mailbox on a GCCH/Azure Government tenant.

When you configure an incoming email account for Microsoft 365 to connect to an Exchange/Office365 mailbox, the following endpoint is selected by default to redirect you to the authorization screen at https://outlook.office365.com.

To access an Exchange/Office365 mailbox on a GCCH/Azure Government tenant, configure the Azure endpoint URLS in the WHD email account settings through the administrator web interface, or set them as JVM system properties in the WHD backend service definition file for your platform.

Below are the JVM arguments and corresponding default URLs for this configuration.

Argument Default URL Description

AzureTokenURL

https://login.microsoftonline.com

The base URL for OAuth 2.0 token requests. Appended with the tenant ID and /oauth2/v2.0/token.

Read via System.getProperty("AzureTokenURL") in AppProperties.java.

For GCCH, set to https://login.microsoftonline.us/

MicrosoftGraphServiceRoot https://graph.microsoft.com/v1.0

The Microsoft Graph API service root URL. Used for Microsoft 365/Azure AD integrations.

Read via System.getProperty("MicrosoftGraphServiceRoot") in AppProperties.java.

For GCCH (US Government), set to https://graph.microsoft.us/v1.0

MicrosoftGraphServiceScopOutgoing https://graph.microsoft.com/.default

The OAuth 2.0 authorization scope for outgoing Microsoft Graph API calls.

Read via System.getProperty("MicrosoftGraphServiceScopOutgoing") in AppProperties.java.

For GCCH, set to https://graph.microsoft.us/.default

To access an Exchange/Office365 mailbox on a GCCH/Azure Government tenant, you can log in to the WHD server as an administrator in the web interface and navigate to Setup > Email > Incoming/Outgoing Mail Accounts > Configure Azure OAuth settings. Alternatively, you can edit the WHD backend service file by taking the following steps:

  1. Log in to Web Help Desk server as an administrator.
  2. Open the backend service file in a text editor. Service file locations depend on your operating system:

    Operating system Backend service file location
    Linux /opt/webhelpdesk/service/linux/whd-backend.service
    macOS /opt/webhelpdesk/service/macos/com.solarwinds.whd.backend.plist
    Windows <WHD_HOME>\bin\run-backend-with-env.bat
  3. Locate the ExecStart line (Linux), ProgramArguments array (macOS), or Java command (Windows).
  4. Add the following JVM system properties as -D arguments to the Java command:
    -DAzureTokenURL="https://login.microsoftonline.com/"
    -DMicrosoftGraphServiceRoot="https://graph.microsoft.com/v1.0"
    -DMicrosoftGraphServiceScopOutgoing="https://graph.microsoft.com/.default"
  5. Verify that all -D arguments are on separate lines in the ExecStart block.
  6. Save and close the file.
  7. Restart the Web Help Desk backend service using systemctl restart whd-backend (Linux) or Restart-Service WHD-Backend (Windows).
  8. Configure your incoming email account for Microsoft 365.