0

毎分 1 回統計をデータベースに保存する時間指定メソッドを備えたシングルトン EJB Bean があります。Bean は各クラスタ ノードで個別に統計を保持するため、各ノードにも保存することが重要です。

私の懸念は、EJB タイマー サービスがデータベースを共有しているため、すべてのクラスター ノードではなく、1 つのクラスター ノードでのみ save-method が実行されることです。これは、すべての統計がデータベースに保存されるわけではないことを意味します。ドキュメントhttp://docs.oracle.com/cd/E18930_01/html/821-2418/beahw.htmlには、何も言及されていないようです。

誰がそれがどのように機能するか知っていますか?

4

1 に答える 1

1

@Schedule(..., persistent=true) でタイマーを宣言すると、クラスター タイマーがタイマー データベース (移行可能) に格納されるため、1 つのノードでのみ実行されます。

@Schedule(..., persistent=false) でタイマーを宣言すると、(移行できない) タイマー db に格納されていないノード タイマーが取得されるため、各ノードで呼び出されます。

于 2015-01-29T20:30:45.293 に答える