我有一个 bean,它有一个使用 <task:scheduled>
按计划执行的方法在上下文配置中。
有没有办法让我在执行该方法期间找到下一次预定运行的时间?
同样的方法也是手动执行的,接收调度器信息的机制可能不会中断来自调度器外部的执行...
最佳答案
<task:scheduled>
配置样式是生成调度程序和计划的底层 Spring 工厂 bean 的便捷快捷方式。为方便起见,它很有用,但不如直接使用底层调度程序工厂灵活。
话虽如此,调度程序本身将需要通过其 API 公开“下一次触发时间”信息,这取决于实现。例如,我看不到从标准 ScheduledExecutorService
中获取此信息的方法。实现。
但是,Quartz 确实通过 getNextFireTime()
暴露了这一点Trigger
上的方法类(class)。
如果你愿意放弃<task:scheduled>
和 use the Quartz-Spring integration directly , 然后你就可以访问 Trigger
(或 TriggerBean
)并以这种方式获得您想要的。
关于java - Spring 3 : task namespace: How to find out time of next execution?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2744875/