spring定时器如何停止

   2025-02-20 6900
核心提示:Spring定时器有两种停止的方式:使用@Scheduled注解的方法停止:可以在方法上添加一个参数,类型为ScheduledFuture,然后在需要

Spring定时器有两种停止的方式:

使用@Scheduled注解的方法停止:可以在方法上添加一个参数,类型为ScheduledFuture,然后在需要停止定时器的地方调用ScheduledFuture.cancel()方法即可停止定时器。
@Scheduled(fixedRate = 1000)public void someTask(ScheduledFuture<?> scheduledFuture) {// 业务逻辑if (需要停止定时器的条件) {scheduledFuture.cancel();}}
使用TaskScheduler的接口方法停止:通过注入TaskScheduler实例,调用TaskScheduler.schedule()方法返回的ScheduledFuture对象的cancel()方法即可停止定时器。
@Autowiredprivate TaskScheduler taskScheduler;public void startTask() {ScheduledFuture<?> scheduledFuture = taskScheduler.schedule(new Runnable() {@Overridepublic void run() {// 业务逻辑}}, new CronTrigger("*/5 * * * * *")); // 定时表达式// 业务逻辑if (需要停止定时器的条件) {scheduledFuture.cancel();}}

需要注意的是,停止定时器时需要保留定时任务的ScheduledFuture对象,以便在需要停止定时器的地方调用cancel()方法。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言