# tomcat 6 start mode setting for production

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.

-

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).

-

Interesting... this setting is exposed by procrun, which is the generic "run a Java application as a Windows Service" wrapper from Apache Commons. The actual procrun site does not seem to have any information about this setting, other than "Can one of jvmjava or exe" (sic).

I would just use whatever value is selected out of the box.

-
i've seen too many (other) app server production guides that recommend changes to most 'out of the box' settings for prod. –  Ryan Fernandes May 28 '10 at 4:06