如何用java程序控制Tomcat重启

如何用java程序控制Tomcat重启,第1张

因为平时Tomcat在windows上的重启一般都是用vbs或者是.bat脚本来写的.只要做能做到用JAVA调用这两种脚本就可以了.在JAVA的API里面.可以用代码控制本地的可执行文件而不能直接调用脚本.因此需要把脚本转换成可执行文件可以下载visualVBS来把vbs脚本转换成.exe.bat转换的脚本更多.网上搜索一下就能找到了.之后在线程里面直接调用JAVA API里面的执行代码就可以做到重启TOMCAT了.DEMO:首先是重启脚本,写成.vbsset WshShell=WScript.CreateObject("WScript.Shell")WshShell.Run("net stop tomcat5")WScript.Sleep(10000)WshShell.Run("net start tomcat5")然后用visualVBS转换成.exe文件然后做一个类,重启Tomcat专用package com.uf.tool.utilpublic class TomcatReset {private String tomcat=""public TomcatReset() {Configconfig=Config.getConfig()tomcat=config.getProperties("tomcat")}public void tomcatRun(){try{System.out.println("the command is:"+tomcat)Process child = Runtime.getRuntime().exec(tomcat)} catch

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包里面有解决方案。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/110418.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-11
下一篇2023-03-11

发表评论

登录后才能评论

评论列表(0条)

    保存