Java EE 5 的 Cron 语法?

标签 cron timer scheduling quartz-scheduler java-ee-5

Java EE 中的计时器任务不是很舒服。是否有任何实用程序可以使用诸如“0 20 20 * *”之类的 cron 语法配置计时器?

我想知道,这是否是使用 Quartzinside(集群)Java EE 应用程序的好方法。根据 http://www.prozesse-und-systeme.de/serverClustering.html (德语页面) Quartz 和 Java EE 集群存在限制:

  • JDBC 必须用作 Quartz 的作业存储
  • 仅允许集群关联的 Quartz 实例使用此 JDBC 作业存储
  • 所有集群节点必须同步到瞬间
  • 所有集群节点必须使用相同的quartz.properties 文件

  • 我更喜欢配置计时器服务的更简单方法,而不是非 Java EE 管理的调度程序。

    最佳答案

    Quartz 绝对支持类似 cron 的语法(使用 CronTrigger ),但您的要求尚不清楚。也可以看看 Jcrontabcron4j .

    作为旁注,声明性地创建类似 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/

    相关文章:

    Swift - Timer.scheduledTimer.timeInterval 问题 - 增加节点生成率

    ruby-on-rails - 使用 Rails Ping 服务器并显示状态

    php - 如何让我的 cron 工作在 cpanel 中工作?

    python - 在 ubuntu 中使用 cron 的 Bigsql Postgres pg_dump 命令不起作用

    linux - Cron 作业调度在 ubuntu 中不起作用

    php - 如何让 php 在没有 cron 的情况下永远工作?

    java - CountDownTimer——表示用户递增。问题

    java - Java Swing 计时器和无限循环存在问题

    python - Spark 公平调度不起作用

    c++ - *nix 下非 GUI 应用程序的体面事件库是什么? (C++)