ThreadPoolTaskScheduler java定时任务
时间: 2023-10-12 13:16:45 浏览: 98
ThreadPoolTaskScheduler 是 Spring 框架中提供的一个线程池定时任务调度器,可以在预定的时间间隔或固定的时间执行任务。它可以用于执行异步任务,如发送邮件或者短信,定时从数据库或者第三方接口获取数据等。
ThreadPoolTaskScheduler 可以通过配置线程池的大小来控制并发执行任务的数量,从而避免系统资源浪费。它也提供了一些方法来控制定时任务的执行,如取消任务、暂停任务、恢复任务等。
下面是一个使用 ThreadPoolTaskScheduler 调度定时任务的示例:
首先,需要在 Spring 配置文件中配置 ThreadPoolTaskScheduler 和定时任务:
```xml
<bean id="taskScheduler" class="org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler">
<property name="poolSize" value="5"/>
</bean>
<bean id="myTask" class="com.example.MyTask"/>
<task:scheduled-tasks>
<task:scheduled ref="myTask" method="run" fixed-delay="5000"/>
</task:scheduled-tasks>
```
其中,taskScheduler 配置了线程池大小为 5,myTask 是一个实现了 Runnable 接口的类,run 方法是定时任务要执行的方法,fixed-delay 属性表示每隔 5 秒执行一次。
接着,在 MyTask 类中实现 run 方法:
```java
public class MyTask implements Runnable {
@Override
public void run() {
// 执行定时任务的逻辑
System.out.println("定时任务执行了!");
}
}
```
这样就可以使用 ThreadPoolTaskScheduler 定时执行 MyTask 中的 run 方法了。
阅读全文