情况说明,使用定时器生成数据:
代码
@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=""
重启,再次执行结果:
谨以此笔记,坑了我两次。