I'm currently running three 6.0.26 tomcat instances on multiple servers to
establish a redundant, HA Tomcat cluster.
Every second in each of the Tomcat instances the following error message is
logged:
org.apache.catalina.ha.tcp.SimpleTcpCluster sendSEVERE: Unable to send message
through cluster sender.org.apache.catalina.tribes.ChannelException: Sender not
connected.; No faulty members identified.
at
org.apache.catalina.tribes.transport.nio.PooledParallelSender.sendMessage(PooledParallelSender.java:45)at
org.apache.catalina.tribes.transport.ReplicationTransmitter.sendMessage(ReplicationTransmitter.java:81)at
org.apache.catalina.tribes.group.ChannelCoordinator.sendMessage(ChannelCoordinator.java:78)at
org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage(ChannelInterceptorBase.java:75)at
org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor.sendMessage(ThroughputInterceptor.java:61)at
org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage(ChannelInterceptorBase.java:75)at
org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor.sendMessage(MessageDispatchInterceptor.java:73)at
org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage(ChannelInterceptorBase.java:75)at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.sendMessage(TcpFailureDetector.java:87)at
org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage(ChannelInterceptorBase.java:75)at
org.apache.catalina.tribes.group.GroupChannel.send(GroupChannel.java:216)at
org.apache.catalina.tribes.group.GroupChannel.send(GroupChannel.java:175)at
org.apache.catalina.ha.tcp.SimpleTcpCluster.send(SimpleTcpCluster.java:818)at
org.apache.catalina.ha.tcp.SimpleTcpCluster.sendClusterDomain(SimpleTcpCluster.java:796)at
org.apache.catalina.ha.session.DeltaManager.send(DeltaManager.java:586)at
org.apache.catalina.ha.session.DeltaManager.sessionExpired(DeltaManager.java:1248)at
org.apache.catalina.ha.session.DeltaSession.expire(DeltaSession.java:425)at
org.apache.catalina.ha.session.DeltaSession.expire(DeltaSession.java:394)at
org.apache.catalina.ha.session.DeltaSession.isValid(DeltaSession.java:358)at
org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:698)at
org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:683)at
org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1316)at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)at
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)at
java.lang.Thread.run(Unknown Source) Below is my
Cluster configuration. It is the same on each server, however the ports have
been changed per instance on the same server.
<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.5"
port="45564"
frequency="500"
dropTime="30000"/>
<Receiver
className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="localhost"
port="5001"
selectorTimeout="5000"
maxThreads="6"/>
<Sender
className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport
className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"
timeout="60000"/>
</Sender>
<Interceptor
className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor
className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
<Interceptor
className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve" />
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
<ClusterListener
className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
I have searched Google and read the Tomcat documentation and have made slight
changes to the configuration however the results have either been worse or not
effective. For example, changing the address in the NioReceiver classname from
"localhost" to the IP Address of the server was not effective. I attempted to
add "bind=" to the groupchannel but this caused the cluster to not replicate
session states correctly.
Any help would be greatly appreciated.
_________________________________________________________________
Look 'em in the eye: FREE Messenger video chat
http://go.microsoft.com/?linkid=9734386
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]