[Seasar-user:11436] Re: [Teeda] Tomcat複数台構成で画面遷移できない場合がある

Junichi Kato [E-MAIL ADDRESS DELETED]
2007年 11月 4日 (日) 13:12:30 JST


> セッションレプリケーションが、うまくいっていないのでは。
> 時々失敗するということなので、ある条件のときだと思いますが、
> これだけの情報だと何もわかりません。

Tomcatのserver.xmlでは以下のようにしています.

 <Engine name="Catalina" defaultHost="localhost" debug="0" jvmRoute="tomcat1">
(snip)
        <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
                debug="0"
                 managerClassName="org.apache.catalina.cluster.session.SimpleTcpReplicationManager"
                 expireSessionsOnShutdown="false"
                 useDirtyFlag="true" 
                notifyListenersOnReplication="true">

            <Membership
                className="org.apache.catalina.cluster.mcast.McastService"
                mcastAddr="228.0.0.4"
                mcastPort="45564"
                mcastFrequency="500"
                mcastDropTime="3000"/>

            <Receiver
                className="org.apache.catalina.cluster.tcp.ReplicationListener"
                tcpListenAddress="auto"
                tcpListenPort="4001"
                tcpSelectorTimeout="100"                tcpThreadCount="6"/>

            <Sender
                className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
                replicationMode="pooled"
                ackTimeout="15000"
                waitForAck="true"/>
            <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
                   filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.css;.*\.txt;"/>

            <Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
                      tempDir="/tmp/war-temp/"
                      deployDir="/tmp/war-deploy/"
                      watchDir="/tmp/war-listen/"
                      watchEnabled="false"/>

            <ClusterListener className="org.apache.catalina.cluster.session.ClusterSessionListener"/>
        </Cluster>

> ログにエラーなど出ていないでしょうか。

また,ログ上では以下のようにレプリケーションメンバーの追加完了メッセージも出力されています.
エラーは一切出力されていません.

192.168.24.103のTomcat
情報: Replication member added:org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.24.153:4001,catalina,192.168.24.153,4001, alive=9]
192.168.24.153のTomcat
情報: Replication member added:org.apache.catalina.cluster.mcast.McastMember[tcp://192.168.24.103:4001,catalina,192.168.24.103,4001, alive=4609]

ログインの認証情報は@Componentでセッションになるように設定しているのですが,それはちゃんとレプリケーションできています.

しかし,ボタンを遷移した際には,なぜかからぶってしまう時があります.
ふと思ったのですが,  useDirtyFlagは,falseで リクエストごとにレプリケーションされないとまずいでしょうか?

> 後、セッションレプリケーションは、どのような実装を用いていますか。
> Seasar2にもセッションレプリケーション機能があり、
> Teedaと組み合わせた実績はあります。
> http://s2container.seasar.org/2.4/ja/dbsession.html

特に実装変えなくても利用することは可能でしょうか?
DBMSはOracle9iなのですが,特に問題なく利用可能でしょうか?

よろしくお願いいたします.

───────────────────────────────
 株式会社 グランテック
 代表取締役社長
 加藤 潤一 Junichi Kato

〒154-0012
東京都世田谷区駒沢2-16-1 サンドー駒沢ビル4F
TEL 050-5538-2383  FAX 03-3487-7211
HP : http://www.grandtech.jp/
BLOG : http://d.hatena.ne.jp/j5ik2o/
E-MAIL : [E-MAIL ADDRESS DELETED]




Seasar-user メーリングリストの案内