1. 程式人生 > >Spring定時任務的實現方式--ScheduledExecutorService

Spring定時任務的實現方式--ScheduledExecutorService

方式一:使用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