Like what you see? Have a play with our trial version.

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Setting up session replication consists of the following steps:

  1. Modifications to web.xml
  2. Modifications to server.xml
  3. Modifications to ROOT.xml

 

More information regarding Tomcat Session Replication can be found at http://tomcat.apache.org

 

...

Session Replication Limitations

There are several caveats to using Session Replication with Yellowfin (or any Java web application). The two main downsides of Session Replication are processing overhead, and memory usage.

...

It should be considered if this overhead is worth the added fail-safe functionality that it brings. If Session Replication is not used, and a node fails, a user’s session will be destroyed, but they'll be able to log in to another node to continue their work. 

 

Anchor
webmodification
webmodification

Modifications to web.xml

The text “<distributable/>” needs to be added to the web.xml file on each node underneath the “<webapp>” line. For example:

 

Code Block
languagexml
 
<web-app>
      <distributable/>
      <!-- System Event and Debug classes -->
      <listener> 
            <listener-class>com.hof.servlet.SysSessionListener</listener-class> 
      </listener> 
 

 

To enable session replication, add the following to the ClusterManagement servlet in the web.xml file.

Code Block
languagexml
 
<init-param> 
          <param-name>SessionReplication</param-name>
          <param-value>true</param-value> 
</init-param>


Anchor
servermodification
servermodification

Modifications to server.xml

Changes need to be made to the server.xml file in the Yellowfin/appserver/conf directory.

 

Add the additional XML entry within the “<host>” XML block.

 

Add:

 <Cluster
Code Block
languagexml
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

 

The IP address “228.0.0.4” is a multicast address that session replication messages will be received on. This does not need to be modified, but a linuxLinux/unix Unix server may need to register a valid multicast route to receive broadcasts on this address. This can be done by running the following command on the console:

Code Block
languagetext
sudo route add -net 224.0.0.0 netmask 224.0.0.0 dev eth0

 

This syntax may be different for different flavours of linux / unixLinux or Unnis. This example uses “eth0” as the network device that will be used for this route.

 

Anchor
rootmodification
rootmodification

Modifications to ROOT.xml

Remove the lines from the ROOT.xml in the Yellowfin/appserver/conf/Catalina/localhost directory:

 

Code Block
languagexml
 
<Manager className="org.apache.catalina.session.PersistentManager" debug="0" distributable="false" saveOnRestart="false"> 
      <Store className="org.apache.catalina.session.FileStore" /> 
</Manager>
 

 

These lines were previously added to suppress session serialisation serialization to disk in Yellowfin.

 

Additional Information

The Session Replication functionality in Tomcat may change in different versions or subversions. If the process outlined here is not working, check the Tomcat website for updated documentation for the version of Tomcat that Yellowfin is running on.

 

 

 

Section


Column
width75

Previous topic: Background tasks


Column

Next topic: