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


         今天在用spring裏面的@Scheduled執行定時任務,可是發現到觸發定時任務的時間點總會執行兩次。開始一直覺得是spring配置出了問題。後面換了一臺主機,在裏面的tomcat跑了程序,只執行了一次。後面能夠定位了,說明代碼和spring配置是沒有問題的,是tomcat配置出了問題。後面在網上查了一些資料,定位到是之前本身修改了service.xml致使的。配置以下:spring

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

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

    這樣配置至關於tomcat容器加載了兩次應用。後面將appBase="/wls/apps" 改成appBase=""問題成功解決了。ui

    之前本身也是這樣配置tomcat的,正納悶爲何請求的url後面加不加上應用名都能請求應用,如:url

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

    關於appBase和docBase的區別,你們能夠參考http://blog.csdn.net/liuxuejin/article/details/9104055.net

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

相關文章
相關標籤/搜索