9

クラスターで実行される Glassfish 3.1.2 と EJB 3.1 アプリケーションがあります。また、アプリケーションには 2 種類のスケジュールされたメソッドが必要です。

  • 1 日に 1 回 (単一ノードで) 1 回だけ実行される 1 つの種類
  • すべてのノードで実行されるその他の種類 (1 ~ 2 分ごと) -- syncron の方法で実行する必要はありません。要件は、この種類がすべてのノードで実行されることだけです。

このクラスターを開始する方法がわかりません - 問題、これは可能@Scheduleですか (そしてどのように)、それとも何か他のものが必要ですか?

4

2 に答える 2

10

私はまったく同じ問題に直面し(1つのclusterタイマーとタイマーが必要ですper node)、この質問に出くわしました。だから、興味のある人のために:

@Schedule(..., persistent=true) でタイマーを宣言するとcluster、タイマー データベースに格納されたタイマーが取得されます (移行可能)。

@Schedule(..., persistent=false) でタイマーを宣言するとnode、タイマー データベースに格納されていないタイマーが取得されます (移行できません)。

于 2012-10-06T07:17:48.300 に答える
0

JMS の使用を検討できます。単一ノードで実行する必要があるメソッドにはキューを使用し、すべてのノードで実行する必要があるメソッドにはトピックを使用します。

于 2012-06-28T17:38:42.823 に答える