部署到Linux服務器,定時任務執行兩次

情況說明,使用定時器生成數據:

代碼

@Component
@Slf4j
public class TestTask {
	
	@Scheduled(cron=" 0/10 * * * * ?")
	@Synchronized
	public void testTask(){
		log.info("start............");
		for(int i = 0; i <5; i++){
			log.info("==========當前數值:" + i);
		}
		log.info("end............");
	}
    
}

本地執行win執行正常,只執行一次

部署到Linux環境後:

解決方案:

1.嘗試使用線程啓動,依然執行兩條

2.嘗試線程添加事務,添加鎖,依然兩條

3.嘗試入庫前判斷,db是否存在該數據,有則不插入,依然兩條

4.。。。。。。無語

 

最後發現:

appBase="webapps"

docBase="app"

以上兩個參數是host裏面的 只需要刪除一個就行

我的處理:把appBase的內容情況即可,即:appBase=""

重啓,再次執行結果:

謹以此筆記,坑了我兩次。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章