2011-12-24 11 views
0

現在、私たちのプロジェクトの1つとしてQuartzスケジューラを検討中です。私はまだそれを探検中ですが、私はいくつか疑問があります。クォーツスケジューラの設計決定

私はJavaベースの電子商取引プラットフォームの1つで、Quartzスケジューラを非常にうまく実装していました。新しいタスクを定義するには、次の手順が必要です。

  1. GUIにログインします。
  2. 新しいボタンをクリックすると、ページが開きます。
  3. 呼び出す固有のJob名前とメソッド名を入力します。
  4. 渡したいパラメータ。メソッドがそれらを必要とするなら、プリミティブだけが許可されます。
  5. トリガーの詳細(時間、曜日、月の任意の組み合わせ)を指定します。
  6. 保存ボタンを押してください。準備は整いました。クォーツで、我々はJobインタフェースを実装する必要があり、作業を行いますそのexecute(JobExecutionContext context)メソッドを実装する必要があるジョブ・クラスを作成する必要があるため

は、今これは、いくつかの質問を促しました。私はJobインターフェイスを実装しなければならないクラスを作成したことがないので、プラットフォーム上のAPIがこれをどのようにしているのか疑問に思っています。

例えば、OrderExport関数を作成したい場合、私がしたのはすべて、OrderExportというメソッド、つまりexportのクラスが作成されたということです。次に、スケジューラのUIで、ジョブ名(任意の一意の名前)、クラス名(例:OrderExport)、メソッド名(例:export())、トリガ詳細をテキストボックスに入力しました。

これを達成した方法を教えてもらえますか?

答えて

0

おそらく、電子商取引プラットフォームは、コンポーネントへの参照を取得できる一般的なジョブを使用していました(おそらく工場ベースで、OrderExportクラスにアクセスする方法がありましたか?これはどのeコマースプラットフォームですか?)、リフレクションによってリクエストされたメソッドを実行します。

+0

これはEnfinity Suite 6であり、これは必須ではありません。 –

+0

次に、単にオブジェクトをインスタンス化してメソッドを実行するためにリフレクションを使用していた可能性があります。 –

+0

あなたは 'execute'メソッドを使ってジェネリックジョブクラスを持ち、クラスとメソッド名に基づいて、リフレクションを使ってそのメソッドを呼び出すかもしれないと言っていますか? –

関連する問題