On Fri, Feb 27, 2015 at 8:35 AM, Alexander Diedler <adied...@tecracer.de> wrote:
> Hello Daniel, > That you for your reply. You mean, that session persistance was enabled > and a failover was recordnized by the loadbalancer and the session was > still available on the remaining node? > No. I'm just talking about your configuration. You have two conflicting things configured. 1.) You have a session store created. This is going to store your sessions into the database. It's *not* clustering (at least by the definition Tomcat uses), but can be an effective way to share sessions across multiple Tomcat instances. 2.) You have a cluster defined. This is going to tell Tomcat to replicate session data directly between your Tomcat nodes. As you pointed out previously, this can be problematic on AWS where they don't support multicast. It's also conflicting with #1, which is what the error you reported is telling you. In short, remove the <Cluster/> tag, the error should go away. Dan > -----Ursprüngliche Nachricht----- > Von: Daniel Mikusa [mailto:dmik...@pivotal.io] > Gesendet: Freitag, 27. Februar 2015 14:21 > An: Tomcat Users List > Betreff: Re: Persistance on Tomcat 8.0 and Cluster > > On Fri, Feb 27, 2015 at 8:15 AM, Alexander Diedler <adied...@tecracer.de> > wrote: > > > Hello, > > I have to build a two node failover cluster with 2 tomcats 8.0.15 > servers. > > This cluster is on AWS Cloud, so technical we cannot use Mulicast etc. > > so we have to use Persistance stored the Session information in a > database. > > The application was in grails and was delivered as a war file tot he > > tomcat. > > > > But what I get is this error message in the nodes: > > WARNING [localhost-startStop-1] > > org.apache.catalina.ha.tcp.SimpleTcpCluster.registerManager Manager [ > > org.apache.catalina.session.PersistentManager[]] does not implement > > ClusterManager, addition to cluster has been aborted. > > > > In the global /conf/context.xml is this: > > <Resource name="jdbc/sessions" auth="Container" > type="javax.sql.DataSource" > > username="username " > > password="password" > > driverClassName="net.sourceforge.jtds.jdbc.Driver" > > > > > url="jdbc:jtds:Sqlserver://sqlservername:1433/databasename_sessioncontainer;" > > maxActive="1000" > > maxIdle="30" > > maxWait="3600" > > validationQuery="select 1 " > > removeAbandoned="true" > > removeAbandonedTimeout="60"/> > > > > <Manager className="org.apache.catalina.session.PersistentManager" > > distributable="true" > > processExpiresFrequency="3" > > saveOnRestart="true" > > minIdleSwap="1800" > > maxIdleSwap="3600" > > maxInactiveInterval="3600" > > maxIdleBackup="0" > > > > > > > <Store className="org.apache.catalina.session.JDBCStore" > > dataSourceName="jdbc/sessions" > > sessionAppCol="app_name" > > sessionDataCol="session_data" > > sessionIdCol="session_id" > > sessionLastAccessedCol="last_access" > > sessionMaxInactiveCol="max_inactive" > > sessionTable="tomcat_sessions" > > sessionValidCol="valid_session" /> > > </Manager> > > > > > > And in server.xml we use globally: > > Inside the engine tag > > > > <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" > > channelSendOptions="8"> > > > > > > </Cluster> > > > > What do we wrong? > > > > If you're using session persistence like a DB to share your sessions > across multiple nodes, you don't need the <Cluster /> tag. That's only > necessary if you're replicating sessions directly between your cluster > nodes. > > Dan > > > > > > Greetings > > Alexander > > > > > > >