World Map
Java Service Wrapper is the easiest way to make your product more reliable.
  • Free Trial
  • Buy Now
wrapper.javaio.use_thread Property

wrapper.javaio.use_thread

Compatibility :3.5.21
Editions :Professional EditionStandard EditionCommunity Edition
Platforms :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/OSIBM z/Linux

This property controls whether the Wrapper uses a dedicated thread to process console output from the JVM. Traditionally all such output has been processed within the Wrapper's main thread. However, on heavily IO loaded servers, this can cause the main thread to block while log output is being written to disk.

Unless the Wrapper's DEBUG log level has been set, the main loop does not do much logging other than the JVM console output so moving this output into another thread can help make sure that the Wrapper's main thread is always able to run without any delays.

The dedicated thread also allows the Wrapper to process pending java output with much less delay.

If the buffer of the pipe between the JVM and the Wrapper becomes full then the JVM will block until the Wrapper has a chance to process the pending console output. If your application is logging very long lines or very large amounts of output then you may benefit from increasing the default pipe buffer size. See the wrapper.javaio.buffer_size property for more information.

Note that there is a lot of overhead by the system to render console log output. This is especially true on Windows. If your application is experience performance issues logging large amounts of console output, we recommend either reducing the log output or disabling the console log output by setting the wrapper.console.loglevel property to STATUS.

The drawbacks of using a dedicated thread are:

  • Slighly higher memory and resource requirements.
  • The debug log output especially on startup can be a little harder to read because entries logged by the two threads are not nicely in sync.

The default value is "FALSE" as most users do not require the dedicated thread.

Example:
wrapper.javaio.use_thread=FALSE

NOTE

This property replaces the deprecated wrapper.use_javaio_thread property (which existed since Wrapper version 3.5.8). The value of the deprecated property is the default of this one for forward compatibility.

Reference: Console

Reference: Command File