情況說明,使用定時器生成數據:
代碼
@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=""
重啓,再次執行結果:
謹以此筆記,坑了我兩次。