因为平时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)} catchtomcat热部署只针对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包里面有解决方案。
评论列表(0条)