`
langgufu
  • 浏览: 2290839 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

tomcat热部署和热加载(转载)

阅读更多

我在项目开发过程中,经常要改动JAVA/JSP 文件,但是又不想从新启动服务器(服务器从新启动花时间),想直接获得(debug)结果.有两种方式热部署 和热加载:

 

1.热加载:在server.xml -> context 属性中 设置 reloadable="true"

 

Java代码   收藏代码
  1. <Context docBase="xxx" path="/xxx" reloadable="true"/>  

    

 

2. 热部署:在server.xml -> context 属性中 设置  autoDeploy="true"

  

Java代码   收藏代码
  1. <Context docBase="xxx" path="/xxx" autoDeploy="true"/>  

 同样可以:

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="xxx" path="/xxx"/> 
</Host>

 

3.区别:

      热加载:服务器会监听 class 文件改变,包括web-inf/class,wen-inf/lib,web-inf/web.xml等文件,若发生更改,则局部进行加载,不清空session ,不释放内存。开发中用的多,但是要考虑内存溢出的情况。

 

      热部署: 整个项目从新部署,包括你从新打上.war 文件。 会清空session ,释放内存。项目打包的时候用的多。

 

 

也可以通过Eclipse上设置实现上述配置文件的修改 

 

Eclipse的工程名右键: properties->Tomcat->General->Make this context as reloadable(reloadable="true")不要选中 Eclipse的工程名右键:Tomcat project->Update Context Definition

 

 

 

注意:source 属性有些版本不支持,容易出错,去掉就行 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics