Spring定時任務的實現方式(程序啓動後運行)--ScheduledExecutorService

本方式會在程序啓動後單獨開啓一個線程去執行,慎用

  1. 建立一個Java類,並實現Runnable接口
import java.util.Date;
public class StartupTask implements Runnable{
    
    @Override
    public void run() {
        System.out.println(new Date()+" ScheduledExecutorTask...");
    }
}
  1. 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" />
    <!-- 每次任務間隔00表示只執行一次,毫秒 -->
    <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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章