赞
踩
关于为什么要使用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接口
- package com.Solin.Timer;
-
- import java.util.Date;
-
- public class StartupTask implements Runnable{
-
- @Override
- public void run() {
- System.out.println(new Date()+" ScheduledExecutorTask...");
- }
-
- }
2.Spring配置
- <!-- 使用Spring的任务调度类ScheduledExecutorTask -->
- <bean id="startupTask" class="com.Solin.Timer.StartupTask" />
- <bean id="startupScheduledTask" class="org.springframework.scheduling.concurrent.ScheduledExecutorTask">
- <!-- 程序启动后延迟1秒执行第一次任务 -->
- <property name="delay" value="3000" />
- <!-- 每次任务间隔0秒 0表示只执行一次,毫秒 -->
- <property name="period" value="0" />
- <!-- 配置主任务 -->
- <property name="runnable" ref="startupTask" />
- </bean>
- <bean id="timerFactory" class="org.springframework.scheduling.concurrent.ScheduledExecutorFactoryBean">
- <property name="scheduledExecutorTasks">
- <list>
- <ref bean="startupScheduledTask" />
- <!-- 如有多任务,可以将任务bean放到list中 -->
- </list>
- </property>
- </bean>

3.启动项目后,控制台会打印如下信息:
Thu Nov 03 18:36:24 CST 2016 ScheduledExecutorTask...
方式二:使用ScheduledExecutorService
参考:http://blog.csdn.net/qq_32786873/article/details/53033359
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。