• 关于Tomcat下项目被启动两次为问题


    最近遇见了一个很搞得事情,在tomcat下启动项目时自己写的定时程序被执行了两次,导致程序启动了两个线程,使定时任务在几秒间隔内执行了两次,后来通过日志查到,原来是tomcat将项目启动了两次,为什么呢?我的问题原因是由于tomcat下配置的问题;为了让程序可以通过域名直接访问,而不用输入项目名,所有要对tomcat配置项目的映射,由于客户那里配置的有问题所有导致程序启动两次。

    错误配置:

    <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"  
        xmlValidation="false" xmlNamespaceAware="false">  
      
        <Context docBase="/usr/local/apache-tomcat-6.0.29/webapps/XXX"  
            path="" reloadable="true"></Context>  
        <Context docBase="/usr/local/apache-tomcat-6.0.29/webapps/XXX"  
            path="/admin" reloadable="true"></Context>  
    </Host>

    以上配置,由于host节点配置了appBase为webapps,所有tomcat会加载webapps里的所有项目,下面又配置了webapps里的项目,导致项目又加载一次,所以会导致项目重复加载,定时程序会在几秒之内重复执行,后来改了一下配置好了,

    如下正确配置:

    <Host name="localhost" appBase="" unpackWARs="true" autoDeploy="true"  
        xmlValidation="false" xmlNamespaceAware="false">  
      
        <Context docBase="/usr/local/apache-tomcat-6.0.29/webapps/XXX"  
            path="" reloadable="true"></Context>  
        <Context docBase="/usr/local/apache-tomcat-6.0.29/webapps/XXX"  
            path="/admin" reloadable="true"></Context>  
    
    </Host>
  • 相关阅读:
    .Net环境下的缓存技术介绍
    JavaScript 全局对象
    JavaScript escape() 函数
    实现DIV拖动
    巧用Ajax的beforeSend 提高用户体验
    js中ie8下不识别indexOf的解决办法
    页面弹窗效果HTML
    让html页面中的文字不可选中
    MVC路由规则
    C# Math.Round
  • 原文地址:https://www.cnblogs.com/zhao-shan/p/10583962.html
Copyright © 2020-2023  润新知