關於Tomcat下項目被啓動兩次爲問題

最近碰見了一個很搞得事情,在tomcat下啓動項目時本身寫的定時程序被執行了兩次,致使程序啓動了兩個線程,使定時任務在幾秒間隔內執行了兩次,後來經過日誌查到,原來是tomcat將項目啓動了兩次,爲何呢?個人問題緣由是因爲tomcat下配置的問題;爲了讓程序能夠經過域名直接訪問,而不用輸入項目名,全部要對tomcat配置項目的映射,因爲客戶那裏配置的有問題全部致使程序啓動兩次。web

錯誤配置:apache

<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裏的項目,致使項目又加載一次,因此會致使項目重複加載,定時程序會在幾秒以內重複執行,後來改了一下配置好了,tomcat

以下正確配置:app

<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>
相關文章
相關標籤/搜索