2011-09-20 8 views
1

私は、Java EE 6テクノロジを使用して個人用のWebアプリケーションを構築しています(このコンテナはアプリケーションサーバーJboss AS 7です)。Java Webアプリケーションで繰り返しのバックグラウンドタスクを処理するための戦略?

  • スケジュールされたタスク(例えば、毎週日曜日の夜に大量のメールを送信する)ウェブイベントに基づいて
  • トリガータスク(例えば、実行されている:私は、私は2つのシナリオを特定し、 反復的バックグラウンドタスクを作成するために、ゼロから始めていますウェブアクションからいくつかの長いバックグラウンド更新)私は(かのうであれば、私は知らない)避けたい何

は、いくつかのバックグラウンドタスクは、私のplatformmに散らばっていることですが(そのうちのいくつかは他の人がTimerTaskを使用して、cronを使用して、db jobsなど)が難しくなります維持する。

以前の2つの要件を考慮して、Java Webアプリケーションで繰り返しのバックグラウンドタスクを処理するさまざまなアプローチは何ですか?

関連:EE6で

答えて

2

あなたは@Timeout注釈でTimerServiceを使用して、ほぼすべての状況のた​​めにクォーツを取り除くことができます。

そして、XMLの行を書く必要はありません。

EE Night Hacks bookには良い例があります。hereとしても入手できます。

トリガーWebイベントを処理するBeanにTimeoutメソッドを追加できます。この方法で、それらは1か所で維持することができます。トリガーイベントによってタイマー設定を変更することもできます。

1

私はまだQuartzを見ています。私はTimerServiceにEE6を使ってコメントしていませんが、私はそれを使用していませんが、Quartzが非常に有用であることがわかりました。

私はそれを(かなりの数年前に)使用していましたが、cronの設定ファイルとよく似た設定ファイルがありました。これを使用して、スケジュールされたジョブを実行するために必要なメソッドを呼び出すことができます。次に、必要に応じてメソッドを呼び出すための他のメカニズムを提供するだけです。

関連する問題