1. 程式人生 > >關於Tomcat下項目被啟動兩次為問題

關於Tomcat下項目被啟動兩次為問題

span 自己 節點配置 為什麽 ase load min 目的 程序

最近遇見了一個很搞得事情,在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>

關於Tomcat下項目被啟動兩次為問題