如何通过JAVA代码 重启tomcat

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过JAVA代码 重启tomcat相关的知识,希望对你有一定的参考价值。

如何通过JAVA代码
重启tomcat 或者让项目里的XML文件重新编译呀??
我通过程序读取某个properties文件,如:jdbc.properties,在程序执行过程中,我对其进行修改后,我想让其生效, 让其生效的办法例如:重启TOMCAT等,当然还有更好的方法,希望能得到帮助,
谢谢(我用的是eclipse)

tomcat热部署只针对class文件,你修改其他文件确实不能自动热部署。
中间件启动的时候就装载好的文件只能重启tomcat了或通过tomcat manager来重载。
如果在程序中有通过流的形式读取文件的话,那么手动修改后重新触发读取动作,能生效。

你这种情况要么重启,要么把装载properties这些文件的动作改成代码来操作,而不是中间件启动时自动装载。
下面两篇文章可能会帮到你:
http://stackoverflow.com/questions/3573575/how-to-reload-properties-file-without-rebooting-tomcat

http://wiki.apache.org/tomcat/HowTo

链接里面有人介绍apache的common包里面有解决方案。
参考技术A 配置文件的作用就是方便修改吧。在单例的时候加个判断,如果用户点击了“重启加载配置文件”就让程序重新读取配置文件,否则不读取文件。这样就不用重启Tomcat了. 参考技术B 可供参考 用java进程方法启动
String path =“tomcat启动bat”;
Runtime.getRuntime().exec("cmd.exe /c start \"\" \""+path+"\"");

Linux系统重启实现Tomcat跟随重启

通过修改 /etc/rc.d/rc.local来实现

先通过which java找到java_home软连接,直接ls -lrt连续查找,至到找到jdk安装的最终路径。

在/etc/rc.d/rc.local里面添加:

export JAVA_HOME = /usr/java/jdk1.8/

cd /home/tomcat/crm/apache-8.58/bin

./startup.sh

查看 /etc/rc.d/rc.local是否有执行权限,无执行权限用chmod +x /etc/rc.d/rc.local来赋权

以上是关于如何通过JAVA代码 重启tomcat的主要内容,如果未能解决你的问题,请参考以下文章

tomcat宕机自动重启脚本

如何远程管理tomcat的关闭,启动,重启

linux shell 手动执行tomcat 和 计划任务重启tomcat 不一致。

如何修改java类不自动重启服务

tomcat重启相当于服务重启?

eclipse mavenWeb项目真正实现热部署(修改java代码和页面文件不用重启tomcat)