0

インメモリ セッション レプリケーションを使用して Tomcat 6 を構成しました。また、IIS 7 (知っています、知っています) と isapi_redirector 経由の AJP コネクタも使用しています。クラスタは正常に動作しており、サンプル ウォーで SessionExample を使用してセッション属性を複製できます。問題は、カスタム アプリケーションで同じことができないことです。テスト クラスターの両方のサーバーで、配布可能タグを web.xml ファイルに追加しました。ただし、クラスターに送信される属性について言及しているメッセージがログに表示されません (SessionExample で表示されます)。私のアプリで例から確認できる主な違いは次のとおりです。

  1. war の例では、サーブレット 2.5 を使用しています。私はまだ2.4を使用する必要があります。
  2. 私のアプリケーションは SSO を使用しており、ユーザーがログインする必要があります。
  3. アプリケーションはポータル アプリケーションです。

また、アプリのコードでは、属性に単純な文字列を設定しているので、余計なことは何もしていません。

それで、誰かがこれを機能させるためのヒントを持っているかどうか疑問に思っていましたか?

ありがとう

私のserver.xml内のクラスターセクションは次のとおりです。

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" 
    channelSendOptions="6">
    <Manager className="org.apache.catalina.ha.session.DeltaManager" 
            expireSessionsOnShutdown="false" 
            notifyListenersOnReplication="true"/>
    <Channel className="org.apache.catalina.tribes.group.GroupChannel">
        <Membership className="org.apache.catalina.tribes.membership.McastService" 
            address="228.0.0.104" 
            port="45564" 
            frequency="500" 
            dropTime="10000"/>
        <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" 
            address="auto" 
            port="4000" 
            autoBind="100" 
            selectorTimeout="7000" 
            maxThreads="6"
            timeout="15000"/>
        <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
            <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"
                timeout="70000"/>
        </Sender>
        <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
        <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
    </Channel>
    <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" 
        filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
    <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
    <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" 
        tempDir="/apache-tomcat-6.0.37/war-deploy/war-temp/" 
        deployDir="/apache-tomcat-6.0.37/webapps/" 
        watchDir="/apache-tomcat-6.0.37/war-deploy/war-listen/" 
        watchEnabled="true"/>
    <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
    <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
4

1 に答える 1

0

ごめん。問題が見つかりました。セッション属性の作成に関するログにメッセージが表示されることを期待していました。サンプル プロジェクトに、メッセージをログに出力するセッション リスナーがあることを知りませんでした。単純に設定したログレベルからだと思っていました。

この投稿を読んでくれた人に感謝します。

于 2014-01-21T02:40:34.607 に答える