Java EE 中的计时器任务不是很舒服。是否有任何实用程序可以使用诸如“0 20 20 * *”之类的 cron 语法配置计时器?
我想知道,这是否是使用 Quartzinside(集群)Java EE 应用程序的好方法。根据 http://www.prozesse-und-systeme.de/serverClustering.html (德语页面) Quartz 和 Java EE 集群存在限制:
我更喜欢配置计时器服务的更简单方法,而不是非 Java EE 管理的调度程序。
最佳答案
Quartz 绝对支持类似 cron 的语法(使用 CronTrigger
),但您的要求尚不清楚。也可以看看 Jcrontab或 cron4j .
作为旁注,声明性地创建类似 cron 的计划以触发 EJB 方法的能力是 EJB 3.1 中定时器服务最重要的增强之一(使用 @Schedule
注释)。下面是取自 New Features in EJB 3.1 的示例:
@Stateless
public class NewsLetterGeneratorBean implements NewsLetterGenerator {
@Schedule(second="0", minute="0", hour="0",
dayOfMonth="1", month="*", year="*")
public void generateMonthlyNewsLetter() {
... Code to generate the monthly news letter goes here...
}
}
关于Java EE 5 的 Cron 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2176405/