1

クラスターの各ノードで EJB タイマー (@Schedule) を実行できますか? タイマーを非永続的であると宣言するだけで十分ですか? 両方のノードからアクセスできるデータベースが必要ですか、それとも内部の derby データベースを使用できますか?

この要件の背後にある使用例は、各ノードのメモリ内の一部のデータを更新することです。

AppServer は Glassfish 3.1 (Java EE 6) です。

4

1 に答える 1

2

はい、非永続的なタイマーが必要です。EJB 3.1 仕様によると:

非永続タイマーは、プログラムによって、または (@Scheduleデプロイメント記述子を使用して) 自動で作成できます。自動非永続タイマーの場合、コンテナーは、コンテナーが分散されている各JVM のアプリケーションの初期化中に、新しい非永続タイマーを作成します。

(余談ですが、Derby データベースは、Derby ネットワーク サーバーを使用している場合にのみ、複数のプロセスで共有できます。複数のアプリケーション サーバー プロセスが Derby データベースを同時に開くことはできません。)

于 2013-06-05T14:07:58.350 に答える