0

私は、システムに入って顧客にデータを表示するために、hibernate、spring、および jpa で glassfish を使用しています。

ただし、受信データに基づいてデータを計算するために、毎分複数のジョブを実行する必要もあります。

しかし、ジョブの数はわかりません。また、ジョブはデータベースから取得されるため、いつでも変更される可能性があります。x 人の顧客がいて、各顧客は 1 つから複数の仕事を持つことができます。

だから私が本当にする必要があるのは:

  1. テーブルから読み取って、実行するジョブの数を取得します
  2. これらのジョブを毎分実行する
  3. ジョブがテーブルから削除された場合、そのジョブの処理を停止します
  4. ジョブがテーブルに追加された場合は、新しいジョブをリストに追加します。
  5. これらの各ジョブは、テーブルから読み取り、いくつかの計算を行い、結果をテーブルに書き込みます。

いくつかのツール (quartz、ScheduledExecutorService など) について調べましたが、実際にこの機能を提供するものはありますか? それとも自分で書く必要がありますか?

4

1 に答える 1

0

春の TaskScheduler から始めます。

http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/scheduling.html#scheduling-task-scheduler

しかし、何を使用するにせよ、これらすべてをサポートするには、かなりの量のコードを作成する必要があります。サーバーの起動時にすべてのタスクをロードする、タスクが 1 つのサーバーでのみ実行されるようにする (アプリが複数の Glassshish インスタンスにデプロイされている場合)、削除されたユーザー/ジョブの DB テーブルを監視するなどのサポートが必要になります。

于 2013-07-04T18:54:48.347 に答える