2

同じWebアプリケーション(Sun RI JSF 2 / Tomahawk)をホストする2つの等しいTomcatサーバーをセットアップしました。負荷分散とフェイルオーバーのシナリオでは、nginxサーバーをリバースプロキシとして使用して、要求を一方または他方のサーバーに委任します。現在、1つのTomcatがバックアップソリューションとして定義されているため、Tomcatサーバー1がすべての要求を処理します。tomcat 1のプロセスを強制終了すると、nginxは次のリクエストをtomcatサーバー2に適切に委任します。セッションデータを再利用するために、セッションストアとしてmemcachedを使用するように両方のtomcatサーバーを構成しました。JSFは、その状態をサーバーに保存するように構成されています。

ログファイルに関しては、この設定は非常に見栄えがよく、セッションデータはmemcachedサーバーを使用して読み取られて保存されます。これにより、たとえば、Tomcat 1がシャットダウンされた場合でも、再度ログインしなくてもWebアプリケーションを簡単に使用できます。

それにもかかわらず、私の(セッションスコープの)バッキングBeanは、セッションの復元後にそれぞれ保存または使用されていないように見えます。セッションBeanからのデータで埋められることになっているフォームフィールドは空のままです。

上記の技術でそのようなことをすることは可能ですか?

4

1 に答える 1

0

memcached-session-manager と OWB では、Tomcat < 7.0.22 を使用する必要があります。これは、このバージョンでは ServletRequestListeners の通知が変更されたためです (これは、フェイルオーバー サポートのために OWB によって使用されるメカニズムです)。

私は現在、OWB と tomcat >= 7.0.22 で動作する msm の新しいバージョンに取り組んでいます。

于 2012-05-27T13:01:36.460 に答える