現在、私たちのプロジェクトの1つとしてQuartzスケジューラを検討中です。私はまだそれを探検中ですが、私はいくつか疑問があります。クォーツスケジューラの設計決定
私はJavaベースの電子商取引プラットフォームの1つで、Quartzスケジューラを非常にうまく実装していました。新しいタスクを定義するには、次の手順が必要です。
- GUIにログインします。
- 新しいボタンをクリックすると、ページが開きます。
- 呼び出す固有の
Job
名前とメソッド名を入力します。 - 渡したいパラメータ。メソッドがそれらを必要とするなら、プリミティブだけが許可されます。
- トリガーの詳細(時間、曜日、月の任意の組み合わせ)を指定します。
- 保存ボタンを押してください。準備は整いました。クォーツで、我々は
Job
インタフェースを実装する必要があり、作業を行いますそのexecute(JobExecutionContext context)
メソッドを実装する必要があるジョブ・クラスを作成する必要があるため
は、今これは、いくつかの質問を促しました。私はJob
インターフェイスを実装しなければならないクラスを作成したことがないので、プラットフォーム上のAPIがこれをどのようにしているのか疑問に思っています。
例えば、OrderExport
関数を作成したい場合、私がしたのはすべて、OrderExport
というメソッド、つまりexport
のクラスが作成されたということです。次に、スケジューラのUIで、ジョブ名(任意の一意の名前)、クラス名(例:OrderExport
)、メソッド名(例:export()
)、トリガ詳細をテキストボックスに入力しました。
これを達成した方法を教えてもらえますか?
これはEnfinity Suite 6であり、これは必須ではありません。 –
次に、単にオブジェクトをインスタンス化してメソッドを実行するためにリフレクションを使用していた可能性があります。 –
あなたは 'execute'メソッドを使ってジェネリックジョブクラスを持ち、クラスとメソッド名に基づいて、リフレクションを使ってそのメソッドを呼び出すかもしれないと言っていますか? –