当前位置:   article > 正文

Spring定时任务的实现方式--ScheduledExecutorService_scheduledexecutorservice 使用spring的配置类

scheduledexecutorservice 使用spring的配置类

关于为什么要使用java.util.concurrent.ScheduledExecutorService代替Java.util.Timer/TimerTask,请参考:http://blog.csdn.net/qq_32786873/article/details/53024056 

http://blog.csdn.net/qq_32786873/article/details/53032850


方式一:使用Spring的任务调度类ScheduledExecutorTask

1.建立一个Java类,并实现Runnable接口

  1. package com.Solin.Timer;
  2. import java.util.Date;
  3. public class StartupTask implements Runnable{
  4. @Override
  5. public void run() {
  6. System.out.println(new Date()+" ScheduledExecutorTask...");
  7. }
  8. }

2.Spring配置

  1. <!-- 使用Spring的任务调度类ScheduledExecutorTask -->
  2. <bean id="startupTask" class="com.Solin.Timer.StartupTask" />
  3. <bean id="startupScheduledTask" class="org.springframework.scheduling.concurrent.ScheduledExecutorTask">
  4. <!-- 程序启动后延迟1秒执行第一次任务 -->
  5. <property name="delay" value="3000" />
  6. <!-- 每次任务间隔0秒 0表示只执行一次,毫秒 -->
  7. <property name="period" value="0" />
  8. <!-- 配置主任务 -->
  9. <property name="runnable" ref="startupTask" />
  10. </bean>
  11. <bean id="timerFactory" class="org.springframework.scheduling.concurrent.ScheduledExecutorFactoryBean">
  12. <property name="scheduledExecutorTasks">
  13. <list>
  14. <ref bean="startupScheduledTask" />
  15. <!-- 如有多任务,可以将任务bean放到list中 -->
  16. </list>
  17. </property>
  18. </bean>

3.启动项目后,控制台会打印如下信息:

Thu Nov 03 18:36:24 CST 2016 ScheduledExecutorTask...


方式二:使用ScheduledExecutorService

参考:http://blog.csdn.net/qq_32786873/article/details/53033359

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/83948
推荐阅读
相关标签
  

闽ICP备14008679号