原 spring 两种实现定时任务的方式
2237 | 0 | 0
第一种:(@Scheduled注解)
1、在spring的core配置文件中添加空间命名
xmlns:task="http://www.springframework.org/schema/task" http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd
2、启用定时任务的注解
<task:scheduler id="myScheduler" pool-size="5"/>//多任务时配置线程池,否则项目会报错 id可以随意命名 <task:annotation-driven scheduler="myScheduler"/>
3、在需要执行定时任务的方法上添加注解
@Scheduled(cron="0/3 * * * * ?")//每隔3秒执行一次,具体参数配置自己查找 public void getA() { System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>..任务A"); } @Scheduled(cron="0/4 * * * * ?") public void getB() { System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>..任务B"); }
第二种:使用java自带的ScheduleExecutorService(有四种方法,只演示其中一种)
scheduleAtFixedRate有四个参数,依次是:要执行的任务、初始化延时、时间间隔、时间单位 @PostConstruct//该注解的作用:在项目配置加载完后执行这个方法 public void getD(){ ScheduledExecutorService ses = new ScheduledThreadPoolExecutor(10); ses.scheduleAtFixedRate(new Runnable() { @Override public void run() { System.out.println(">>>>>>>>>>>>>>>>>..任务D"); } }, 0, 5, TimeUnit.SECONDS); }
0
132****1346
3人已关注
领课教育 32372
10203
update 47631
5098
领课教育 18366
husheng 21094
请更新代码 41765
凯哥Java 2357
凯哥Java 2776
凯哥Java 2100