Run JAVA as a Windows service (this howto is deprecated)Tag(s): DEPRECATED


A solution adapted to Java, is YAJSW( Yet Another Java Service Wrapper ) ( http://yajsw.sourceforge.net/ ) (opensource).

The setup is very simple with one configuration file and your Java service can be notified when the service is stopped.


If you log in and log out from a machine and a java service is running then the service may be stopped. The fix is to use Java 1.3.1 or higher and start the process with the JVM switch -Xrs (Reduce Signals Xtended-switch) to stop the Windows signal from killing the JVM.

For BEA JRockit, it's the -Xnohup


Also, it's possible to the utility SRVANY.EXE, included with the NT resource Kit.

http://www.techeez.com/windows_tips/service_under_nt.htm

SVRANY is used to run any EXE as a windows service. In our situation, SVRANY will run the specified JAVA.EXE with our class a parameter. But this solution presents many problems. For exemple, if you kill the SVRANY.EXE process (stop the service) then the JAVA.EXE is not killed, you need to do it manually.