Windows – tomcat 6 start mode setting for production

tomcatwindowswindows-service

Tomcat 6 (as a windows service) seems to have a 'Start Mode' with options of 'java, jvm or exe' which can be set via the Tomcat Monitor (system tray icon).

if I set this to 'java', I can see a forked 'java.exe' process for tomcat, if I chose either of the other two, I dont see a separate process.

Anyway, would like to know if anyone has any information about what these settings mean and which one would be most appropriate in production.

Best Answer

They since updated the website since 27th May when Matt answered but now the procrun page explains it a bit better:

One of jvm, Java or exe. The modes are:

  • jvm - start Java in-process. Depends on jvm.dll, see --Jvm.
  • Java - same as exe, but automatically uses the default Java executable, i.e. %JAVA_HOME%\bin\java.exe. Make sure JAVA_HOME is set correctly, or use --JavaHome to provide the correct location. If neither is set, procrun will try to find the default JDK (not JRE) from the Windows registry.
  • exe - run the image as a separate process

Which essentially explain the method Java is launched (in process, external, external with a different JVM); but I wonder what's the difference really, they should be pretty much the same IMHO (except if the default is an unoptimized JVM and you choose an external "server" one, which could benefit with its more aggressive optimizations, I can only guess).