Tomcat 6(作为 Windows 服务)似乎有一个“启动模式”,其中有“java、jvm 或 exe”选项,可以通过 Tomcat 监视器(系统托盘图标)进行设置。
如果我将其设置为“java”,我可以看到一个为 tomcat 分叉的“java.exe”进程,如果我选择另外两个中的任何一个,我就看不到单独的进程。
无论如何,想知道是否有人知道这些设置的含义以及哪一个设置最适合生产。
答案1
自 5 月 27 日 Matt 回答以来,他们就更新了网站,但现在普罗克伦页面解释得更好一些:
jvm、Java 或 exe 之一。模式包括:
- 虚拟机- 在进程内启动 Java。依赖于 jvm.dll,请参阅--Jvm。
- Java- 与 exe 相同,但自动使用默认的 Java 可执行文件,即 %JAVA_HOME%\bin\java.exe。确保 JAVA_HOME 设置正确,或使用 --JavaHome 提供正确的位置。如果两者都未设置,procrun 将尝试从 Windows 注册表中查找默认的 JDK(而非 JRE)。
- EXE文件- 将图像作为单独的进程运行
这基本上解释了启动 Java 的方法(在进程中、外部、使用不同的 JVM 的外部);但我想知道它们之间到底有什么区别,在我看来它们应该大致相同(除非默认的 JVM 是未优化的,而您选择了外部“服务器”,我只能猜测,它可以通过更积极的优化受益)。
答案2
有趣的是...这个设置是由普罗克伦,这是来自 Apache Commons 的通用“将 Java 应用程序作为 Windows 服务运行”包装器。实际的 procrun 站点似乎没有关于此设置的任何信息,除了“可以是 jvmjava 或 exe 之一”(原文如此)。
我只会使用框中选择的任何值。