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

wrapper.ntservice.hide_console

Compatibility :3.0.4
Editions :Professional EditionStandard EditionCommunity Edition
Platforms :WindowsMac OSX (Not Supported)Linux (Not Supported)IBM AIX (Not Supported)FreeBSD (Not Supported)HP-UX (Not Supported)Solaris (Not Supported)IBM z/OS (Not Supported)IBM z/Linux (Not Supported)

WARNING

DO NOT modify the value of this property while an application using the configuration file has been installed as a Windows Service. Please uninstall the existing service BEFORE modifying this property. The service with the new value can then be safely reinstalled later.

WARNING

Prior to Java version 1.4.0:

Java Service Wrapper version 3.4.x or later support JVM version 1.4.x and above.

Due to the way versions of Java prior to 1.4.0 handle the displaying of Windows, their GUI may not be visible when running as a Windows Service with this interactive property set. To enable the GUI on these JVMs, you will also need to set the wrapper.ntservice.hide_console property to TRUE.

This property is only used on Windows platforms.

This property is ignored unless the Wrapper is being run as a Windows Service with the wrapper.ntservice.interactive property set to TRUE. If the application's GUI is not being displayed correctly, this property should only be needed to bet set to TRUE. Therefore, this will be TRUE for all versions of Java prior to version 1.4.0.

Before playing with this property, I'll explain the problems involved so you will understand the Wrapper's behavior. When a Windows Service is launched with the interactive property set to TRUE, the service is running in an environment in which a console window does not exist. In order to capture the console output of a Java application, the Wrapper must create a console for the JVM to use. Normally this console would be visible to the user along with the Java application's GUI. It appears as an unresponsive console that can not be closed by the user. Obviously users would not like having this console around, so the Wrapper hides it by default.

Java 1.4.x will correctly show the GUI window even if its console is hidden, so things will work correctly and the Java GUI will be visible. But earlier versions of Java display their Windows using the default window state for the process, meaning that they will be also hidden as well. It seems that users of Java 1.3.x and 1.2.x would also like to be able to display a GUI while running as a Windows Service, so a workaround was added. :-)

Please see the list of supported JVMs (Java Virtual Machines).

In order to be able to display the Java GUI with older JVMs, the console can not be hidden by default. If the JVM is launched with the console visible then it will be able to correctly display its GUI.

Disabling the feature that hides the console is done by setting the wrapper.ntservice.hide_console property to FALSE. This will cause the Wrapper to launch the Java application along with its Console in a visible state, so the JVM can correctly display its JVM.

Example:
wrapper.ntservice.hide_console=FALSE

So what about that ugly black console, you may ask? Well the good news is that the Wrapper will look for the console window and hide it almost immediately after the JVM has been launched. This is done so that the user will not have to stare at it while they are using your application.

The only problem is that the big black console will flash rather obviously which may distract users. It was decided to hide the console by default so that users with newer JVMs would not have to put up with it.

NOTE

Changes to the value of this property will not have any affect on the Wrapper if the configuration is reloaded. The Wrapper must be restarted for changes to take effect.

Reference: Console