java - Spring 3 : task namespace: How to find out time of next execution?

标签 java spring quartz-scheduler

我有一个 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/

相关文章:

java - 与其他库共享 Hibernate 连接

java - 如何强制初始化一个类?

mysql - 关于spring/jpa/hibernate中乐观锁的简单设计问题

spring - Hystrix 和 Spring @Async 组合

java - JEE Spring 提交表单不适用于 POST 请求

java - 为什么某些 java 代码/quartz 代码需要 .class 文件?

java - 当放大/缩小太快并出现奇怪错误时,Google Maps Activity 崩溃

java - 单击按钮时数据库查询未执行

java - Android:长时间运行的文件记录线程会减慢用户界面

java - Tomcat 6 中的 Quartz 调度程序,线程不会停止