[转] tomcat 热部署和热加载 (推荐)

壳叔搞笑一刻

20d44db042d54f2da9a427932b5eb5d2-21e5ad8210b05797.jpg

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

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

Java代码

<Context docBase="xxx" path="/xxx" reloadable="true"/>

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

Java代码

 <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 ,释放内存。项目打包的时候用的多。**

以上内容均来自互联网,并非原创

黑壳博客 blog.bhusk.com

E-mail:keshu@bhusk.com

本文由 黑壳博客的壳叔 创作或转载,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。

可自由转载、引用,但需署名作者且注明文章

留下你的脚步
推荐阅读