zoukankan      html  css  js  c++  java
  • 1.1 tomcat热部署.class

    本人是在维护公司系统时遇到的问题,由于公司的系统是部署到客户服务器上,而系统中存在的问题又比较多,需要经常维护。如果每次修改完class文件后都需要去重启服务器,

    那会给用户的使用造成不便,所以需要使用Tomcat热部署去实现在没有关闭Tomcat的情况下去动态的替换class。以前从未搞过,所以自己花了点时间研究了一下,特此记录:

    参考文档:https://blog.csdn.net/wf632856695/article/details/53445081

         https://www.cnblogs.com/qlqwjy/p/8231750.html

    本人使用的是apache-tomcat-8.0.35

    1.其实Tomcat热部署很简单,只需要在Tomcat的server.xml文件中加入如下配置:

     <Host name="localhost"  appBase="webapps"
                unpackWARs="true" autoDeploy="true">
            
            <Context path="/pwkyps" docBase="pwkyps" reloadable="true"/>  # 加入这一行代码

    context代表的是localhost:8080/pwkyps 指向pwkyps这个项目;

    docBase是物理路径,可以是绝对路径,也可以是相对Host标签中appBase的相对路径,而Host标签中appBase的默认值是webapps文件夹,所以这里的pwkyps就代表webapps下的pwkyps文件夹。

    这里的path+docBase的配置就表示ip+端口+/项目名称都可以指向你的项目。

    reloadable就告诉Tomcat需要监控WEB-INF中的class文件,如果有变化了,就需要重新加载。并且是重新加载整个项目的,包括web.xml等等。

    说明:本人这里主要测试了改变.class的情况,至于改变web.xml、jsp页面的情况还未做测试,等具体用到了在进行测试。

    有些文献里面说的在替换.class文件是需要清除tomcat缓存,进入tomcat根目录,删除work/catalina 下的所有东西,但是我在实际测试时候发现,即使不清除也不会影响。

    只是在测试的时候遇到一个问题:在每次替换.class的时候项目总的session就会失效,需要用户重先登录。

  • 相关阅读:
    C语言I博客作业08
    第十一周助教总结
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业05
    C语言I作业004
    第十三周助教总结
    C语言I博客作业09
    第十二周助教总结
    C语言I博客作业08
  • 原文地址:https://www.cnblogs.com/shiyun32/p/9272540.html
Copyright © 2011-2022 走看看