以前接触过热部署,今天自己研究了一点皮毛!发现热部署对项目加载时不会清空之前加载的内存,每部署一次内存会随之增加几乎一倍的占用,久而久之就会造成jvm的内存溢出,所以说热部署对于开发来说有利也有弊。
解决方式:降低重启次数,优化jvm。
这是热部署的配置:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<!-- 这样每次文件有更改,保存的时候,就会自动部署到Tomcat服务器,实现热部署。不过,这种部署设置,每次保存的时候,都会重新启动服务器。 -->
<!-- <Context docBase="ZBXMobile" path="/ZBXMobile" reloadable="true" source="org.eclipse.jst.jee.server:ZBXMobile"/> -->
<!-- 设置reloadable="false" crossContext="true",那么就可实现每次保存文件的时候,自动部署到服务器中,并且不会重新启动。 -->
<!-- <Context docBase="ZBXMobile" path="/ZBXMobile" reloadable="false" crossContext="true" source="org.eclipse.jst.jee.server:ZBXMobile"/> -->
</Host>
如果大家有什么好的建议可以在下面评论