linux-基础服务

tomcat 热部署和热加载

2019-06-13  本文已影响0人  宇晨棒棒的

1.热部署:

原定义:tomcat处于运行状态时,能够监控webapps目录下的文件,如果有新的web应用被加入到此目录下,会被自动发布这个web项目.

2.实现方式:  将 Host标签中的autoPlay的值设置为true

3.配置文件:conf/server.xml中:

<Host name="localhost" appBase="webapps   unpackWARs="true" autoDeploy="true">

参数解释:

name属性指定虚拟主机的主机名,一个Engine中至少有一个Host组件,Host的name属性与Engine组件的defaultHost属性相匹配。

appBase属性:代表项目存放的目录文件名

unpackWARs属性:指定了是否将代表Web应用的WAR文件解压,如果为true,通过解压后的文件结构运行该Web应用,如果为false,直接使用WAR文件运行Web应用

autoDeploy属性:和项目热部署有关。

4.热加载(必须在debuge模式下才会起作用):

当Context标签的reloadable属性的值为true时,就实现了热加载。

定义:tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用。  

前提:只有在debug模式下,该属性才起作用,普通模式下,就算你reloadable="true",也不会生效(class文件不会被更新,tomcat不会重启)。

实例:

<Context path="/mobile/cahshier" docBase="/usr/local/tomcat/webapps/mobile/cahshier" autodeploy="true" reloadable="true"/>

debuge模式启动tomcat:

在catalina.sh中的首行添加:  注意:端口一定要是8000,其他的话试了几次连不上

CATALINA_OPTS="-Xdebug  -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"

上一篇下一篇

猜你喜欢

热点阅读