0

Oracle Application Server (OAS) の 2 つのインスタンスがクラスター化され、セッションが複製されています。プロセスを強制終了してインスタンスの 1 つを終了すると、他のインスタンスがセッションを取得して保持します。すべてが期待どおりに機能します。OAS の 1 つのインスタンスを (opmn stopall を使用して) 正常にシャットダウンすると、HttpSessionDestroyedEvent イベントが発生し、情報が削除されるため、アプリケーションが正常にフェールオーバーしません。これは、クラスター化された環境での私の最初の経験であり、これが一般的であるかどうかに興味があります. サーバー インスタンスが停止すると、クラスタ化されていない環境で HttpSessionDestroyedEvent イベントが発生することはわかっていますが、ここでは正しくないようです。1 台のサーバーで何らかのメンテナンスを行うにはどうすればよいでしょうか? HttpSessionDestroyedEvent イベントの発生元である Spring Framework を使用しています。

4

1 に答える 1

0

これは、クラスタリングと Web サーバーでよくある問題のようです。基本的に、クラスターに属する 1 つのノードが正常にシャットダウンされると、そのノードは、そのノードに属するすべてのセッションに対してセッション破棄イベントを発生させます。クラスター内でさらに多くのノードが稼働している場合でも同様です。私が抱えている同じ問題を説明するリンクがいくつかあります。

Tomcat の問題

JBoss の問題

回避策は、セッション破棄イベントをリッスンする任意の場所で、シャットダウン フラグを含むプロパティ ファイル (JBoss リンクを参照) をロードすることです。これの欠点の 1 つは、システム管理者が再起動の前後にプロパティ ファイルを更新することを覚えておく必要があることです。

于 2009-02-24T12:48:33.280 に答える