4

Java EE のタイマー タスクはあまり快適ではありません。「0 20 20 * *」のようなcron構文でタイマーを設定するユーティリティはありますか?

Quartzinside (クラスター化された) Java EE アプリケーションを使用する良い方法になるのではないかと思います。http://www.prozesse-und-systeme.de/serverClustering.html (ドイツ語のページ) によると、Quartz および Java EE クラスタリングには制限があります。

  • JDBC は Quartz のジョブストアとして使用する必要があります
  • この JDBC ジョブストアを使用できるのは、クラスターに関連付けられた Quartz インスタンスのみです
  • すべてのクラスタ ノードを一瞬で同期する必要があります
  • すべてのクラスタ ノードは同じ Quartz.properties ファイルを使用する必要があります

Java EE で管理されていないスケジューラーではなく、タイマー サービスを構成するためのより簡単な方法を希望します。

4

1 に答える 1

5

Quartz は間違いなく cron のような構文 (を使用CronTrigger) をサポートしていますが、要件は明確ではありません。また、Jcrontabまたはcron4jもご覧ください。


補足として、EJB メソッドをトリガーする cron のようなスケジュールを宣言的に作成する機能は、EJB 3.1 のタイマー サービスの最も重要な拡張機能の 1 つです (@Scheduleアノテーションを使用)。以下は、 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...
    }
}
于 2010-02-01T12:42:25.710 に答える