如何通过JAVA代码 重启tomcat
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过JAVA代码 重启tomcat相关的知识,希望对你有一定的参考价值。
如何通过JAVA代码
重启tomcat 或者让项目里的XML文件重新编译呀??
我通过程序读取某个properties文件,如:jdbc.properties,在程序执行过程中,我对其进行修改后,我想让其生效, 让其生效的办法例如:重启TOMCAT等,当然还有更好的方法,希望能得到帮助,
谢谢(我用的是eclipse)
中间件启动的时候就装载好的文件只能重启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的主要内容,如果未能解决你的问题,请参考以下文章