Java 定时任务 (ssm注解方式)
1. 配置文件.xml
2. Java定时任务类
3. 部署到Linux服务器,定时任务出现的问题
在springMVC.xml配置文件中,添加定时任务配置
xmlns:task="http://www.springframework.org/schema/task"
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.2.xsd"
<task:annotation-driven scheduler="myScheduler"/>
<task:scheduler id="myScheduler" pool-size="5"/>
Java定时任务类
//定时任务
@Controller
public class TasksTest {
//每5分钟执行一次
@Scheduled(cron="0 */5 * * * ?")
public void FiveTimeMinute (){
System.out.println("aaaaaaaaaaaaaaaaaa");
}
}
部署到Linux服务器,定时任务出现的问题
项目部署到Linux服务器上后,定时任务可能会出现重复执行的问题
如果有数据库插入操作,则可能会有重复数据,影响业务.
我也遇到了重复执行的问题.
网上搜了一堆案例.有的说是没有配置好,导致被实例化两次.
也有的说是Tomcat配置文件问题,要修改一下.
我最终解决的方法是:修改tomcat/conf/server.xml
将appBase设置为空;docBase设置项目全路径;
appBase="";docBase=项目全路径
启动服务后,观察定时任务,已解决重复执行问题.数据库插入数据时,不在有重复.
原文:https://www.cnblogs.com/dawndefend/p/14252607.html