本方式會在程序啓動後單獨開啓一個線程去執行,慎用
- 建立一個Java類,並實現Runnable接口
import java.util.Date;
public class StartupTask implements Runnable{
@Override
public void run() {
System.out.println(new Date()+" ScheduledExecutorTask...");
}
}
- Spring配置
<!-- 使用Spring的任務調度類ScheduledExecutorTask -批量獲取輿情數據定時任務 -->
<bean id="startupTask " class="com.web.scheduleTask.StartupTask" />
<bean id="startupTaskScheduledTask" class="org.springframework.scheduling.concurrent.ScheduledExecutorTask">
<!-- 程序啓動後延遲1秒執行第一次任務 -->
<property name="delay" value="3000" />
<!-- 每次任務間隔0秒 0表示只執行一次,毫秒 -->
<property name="period" value="2000" />
<!-- 配置主任務 -->
<property name="runnable" ref="startupTask" />
</bean>
<bean id="timerFactory" class="org.springframework.scheduling.concurrent.ScheduledExecutorFactoryBean">
<property name="scheduledExecutorTasks">
<list>
<ref bean="startupTaskScheduledTask" />
<!-- 如有多任務,可以將任務bean放到list中 -->
</list>
</property>
</bean>