Spring定時任務的實現方式--ScheduledExecutorService
阿新 • • 發佈:2019-02-16
方式一:使用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