-1

クラスター内の 2 つのサーバー インスタンスでセッション レプリケーションを行っています。

セッション ID が 2 番目のサーバーに複製されないため、常に新しいサーバーが作成され、開いているアプリケーションがエラーになり、閉じられます。サーバー インスタンスがダウンしてもユーザーが認識しないように、サーバー インスタンスのこのフェールオーバーを処理する方法。これが私がweblogic.xmlで使用している設定です

    <?xml version="1.0" encoding="ISO-8859-1"?>

      <weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app">
         <session-descriptor>
       <session-param>
      <param-name>URLRewritingEnabled</param-name>
        <param-value>true</param-value>
       </session-param>
        <session-param>
        <param-name>PersistentStoreType</param-name>
       <param-value>replicated</param-value>
     </session-param>
     </session-descriptor>

 <context-root>@CONTEXT_ROOT@</context-root>
  </weblogic-web-app>
4

1 に答える 1

0

アプリ サーバーに直接アクセスしても、セッション ID の問題が緩和されないように見えることがわかったので、より詳細なデバッグを行う必要があります。

  1. Firebug を Firefox にインストールします ( https://getfirebug.com/ ) 。
  2. Firefox で Web サイトにアクセスします
  3. Firefox で Firebug を有効にします (また、Firefox の [ネット] タブ (グレー表示されている可能性があります) が有効になっていることを確認してください)。
  4. ウェブサイトにログインする
  5. firebug の [ネット] タブを見て、リクエストのプラス記号を展開します。
  6. Request Headers セクションを見てください -- Cookie フィールドに JSESSIONID のようなものはありますか? その場合、JSESSIONID は同じままですか、それともサイトの他のページに移動したときに変更されますか?

比較のために Weblogic 管理コンソールにログインしたときに、リクエストごとに設定および再送信される Cookie を確認するために Firebug を使用しているスクリーンショットを添付します (ADMINCONSOLESESSION ではなく、Cookie キーとして JSESSIONID が表示されます)。 )

ここに画像の説明を入力

于 2012-05-15T13:42:23.643 に答える