java - 如何取消Spring定时器执行

标签 java spring scheduling

我需要取消 Spring 计时器执行或至少根据某些条件更改执行频率。同时使用 org.springframework.scheduling.quartz.SimpleTriggerBeanorg.springframework.scheduling.timer.ScheduledTimerTask。找不到方法。

最佳答案

注意:这是针对 Spring 3.0+ 的

  1. 阅读Spring documentation on scheduling tasks

  2. 使用 TaskScheduler服务,例如 TimerManagerTaskSchedulerThreadPoolTaskScheduler .

  3. 通过调用一些 TaskScheduler.schedule*() 来安排您的任务方法 并存储返回的 ScheduledFuture .

  4. 当你想取消执行时,调用ScheduledFuture.cancel() .这将停止进一步调用您的任务。此时,如果需要,您可以通过使用不同的参数为您的任务调用 TaskScheduler.schedule*() 来重新安排。

关于java - 如何取消Spring定时器执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13868323/

相关文章:

java - 有没有办法获取正在运行的数据库的名称?

java - Spring Boot 测试 - 字段注入(inject)引发 NullPointerException

java - 启动 Spring Cloud Hystrix 仪表板示例时出现问题

web-applications - 员工排类软件?基于网络/浏览器

java - 椭圆曲线加密

java - 使用Simple将不同对象的ArrayList写入XML文件

java - Spring-Data-Elasticsearch 设置 : Spring can't find config file?

python - 如何安排每月 1 号运行的 Celery 任务?

java - 在java中模拟线程调度(stackless java?)

java - 为类对象的 ArrayList 调用加法方法