Spring @Scheduled 在tomcat容器里面執行兩次


Spring @Scheduled 在tomcat容器里面執行兩次

學習了:https://my.oschina.net/u/1982377/blog/536607?p={{currentPage-1}}

 今天在用spring里面的@Scheduled執行定時任務,但是發現到觸發定時任務的時間點總會執行兩次。開始一直以為是spring配置出了問題。后面換了一台主機,在里面的tomcat跑了程序,只執行了一次。后面可以定位了,說明代碼和spring配置是沒有問題的,是tomcat配置出了問題。后面在網上查了一些資料,定位到是以前自己修改了service.xml導致的。配置如下:

     <Host name="localhost"  appBase="/wls/apps" unpackWARs="false" autoDeploy="true">

      <Context path="" docBase="/wls/apps/backup" reloadable="true"></Context>

    這樣配置相當於tomcat容器加載了兩次應用。后面將appBase="/wls/apps" 改為appBase=""問題成功解決了。

    以前自己也是這樣配置tomcat的,正納悶為什么請求的url后面加不加上應用名都能請求應用,如:

    hostIP:8080 和hostIP:8080/backup都能請求應用,原來tomcat里面本來就加載了兩個的應用。加上應用名對應的是appBase下面應用,不加應用名對應的是docBase。

    關於appBase和docBase的區別,大家可以參考http://blog.csdn.net/liuxuejin/article/details/9104055

    http://blog.csdn.net/jierui001/article/details/4168872

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM