Tomcat集成进Windows服务
平时启动Tomcat都使用startup或者catalina,而如今项目要正式用了。这就存在问题了。什么问题呢?比如机器要重启,相应的Tomcat也要自动启动才能保证服务的进行。当然,还有一种认为可以解决是我们把Tomcat的startup.bat加入Windows的“启动”中,可惜这样也是不行的。因为这种方式只有在用户登陆进入的时候才会启动。所以根本是Tomcat需要把其自身加入到Windows的服务中,这样的才能保证Windows重启以后就能启动服务,同时不需要任何用户登陆进入。
一般书上没见过(可能是以前没有关心过这个问题)。Tomcat自身带了与Windows集成的东西。在%Tomcat%/bin/下有一个service.bat,非常简单。有两个参数install和remove,对应安装和删除Windows对应的Tomcat服务。
安装服务及参数:
service install "Tomcat5" "%JAVA_HOME%\jre\bin\server\jvm.dll" -Djava.class.path="%CATALINA_HOME%\bin\bootstrap.jar" -Dcatalina.home="%CATALINA_HOME%" -Djava.endorsed.dirs="%CATALINA_HOME%\common\endorsed" -start org.apache.catalina.startup.BootstrapService -params start -stop org.apache.catalina.startup.BootstrapService -params stop -out "%CATALINA_HOME%\logs\stdout.log" -err "%CATALINA_HOME%\logs\stderr.log"
查看操作系统支持的最大内存数:java -Xmx****M -version
此服务运行起来,执行的是tomcat5.exe,这样又存在一个问题。就是以前我在Catalina.bat中添加的一些Tomcat启动参数(如:初始jvm栈大小等)就变得无效了。不过,Tomcat还是不错的。其下的tomcat5w.exe就是用来配置的。其中的Java选项提供了配置Jvm栈大小以及jvm启动参数等。