Hi !

I'm working with a cluster application and I want to use session replication. 
Here is my server.xml :

<?xml version='1.0' encoding='utf-8'?>

<Server port="8005" shutdown="SHUTDOWN">

  <Listener className="org.apache.catalina.core.AprLifecycleListener" 
SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JasperListener" />
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
  <Listener
 className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  
  <GlobalNamingResources>
    <Resource name="UserDatabase" auth="Container"
             
 type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>

 
  <Service name="Catalina">
  
    
    <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />
   
    <Connector port="8009" protocol="AJP/1.3"
 redirectPort="8443" />

  
    <Engine name="Catalina" defaultHost="localhost" jvmRoute="tester">

      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
                 channelSendOptions="8">
            <Manager 
className="org.apache.catalina.ha.session.SimpleTcpReplicationManager"
                   expireSessionsOnShutdown="false"
                   notifyListenersOnReplication="true"/>
            <Channel
 className="org.apache.catalina.tribes.group.GroupChannel">
                <Membership 
className="org.apache.catalina.tribes.membership.McastService"
                        address="228.0.0.4"
                        port="60042"
                        frequency="500"
                        dropTime="6000"/>
               
 <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
                      address="auto"
                      port="4000"
                      autoBind="100"
                      selectorTimeout="5000"
                      maxThreads="10"/>
                <Sender
 className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
                    <Transport 
className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
                </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=""/>
          <Valve 
className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>

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

          <ClusterListener 
className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
          <ClusterListener 
className="org.apache.catalina.ha.session.ClusterSessionListener"/>
        </Cluster>
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
      
 
      </Host>
    </Engine>
  </Service>
</Server>

If a set in context.xml <Context distributable="true" > or in web.xml 
<distributable/>,  when I start tomcat an UnsupportedOperationException is 
thrown :

18.07.2008 15:52:00 org.apache.catalina.ha.tcp.SimpleTcpCluster createManager
SEVERE: Unable to clone cluster manager, defaulting to 
org.apache.catalina.ha.session.DeltaManager
java.lang.UnsupportedOperationException
        at 
org.apache.catalina.ha.session.SimpleTcpReplicationManager.cloneFromTemplate(SimpleTcpReplicationManager.java
:682)
        at 
org.apache.catalina.ha.tcp.SimpleTcpCluster.createManager(SimpleTcpCluster.java:506)
        at
 org.apache.catalina.core.StandardContext.start(StandardContext.java:4259)
        at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
        at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)
        at 
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:718)
        at 
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
        at
 org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at 
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at 
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at 
org.apache.catalina.core.StandardService.start(StandardService.java:516)
        at
 org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

This happens on tomcat-6.0.14 and tomcat-6.0.16
 also. My JDK is jdk1.5.0_06. How can I start tomcat and having distributable 
flag set ?

Thanks in advance !



      

Reply via email to