Skip navigation

Integrations - Tomcat

Article Rating?

Resources

[Sessions Quick Start]

Introduction

Tomcat is an Open Source JSP and Servlet Container from the Apache Foundation

Integration Status: Supported.
Site URL: http://tomcat.apache.org/

What is supported

Terracotta has been tested with version 5.0.x, 5.5.x and 6.0.x. Regular DSO clustered roots and clustered sessions are supported. There is no special setup (beyond regular DSO client setup) required to enable DSO within Tomcat.

How it's implemented

Tomcat's classloaders receive special treatment via instrumentation. For standalone (as opposed to embedded) tomcat instances, the "common", "catalina" and "shared" loaders are given DSO names and registered in the org.apache.catalina.startup.Bootstrap class. The web app classlaoder derives it's name from the Container to which it is registered and is registered in the constructor of org.apache.catalina.loader.WebappLoader. More information about tomcat's loaders can be found here: http://tomcat.apache.org/tomcat-5.5-doc/class-loader-howto.html

DSO sessions are introduced by replacing the pipeline used by tomcat's top most Engine instance. This terracotta pipeline makes sure that a terracotta valve instance is always first in the processing sequence for all requests to the server. com.tc.tomcat.session.VersionHelper is used to account for the differences in the Pipeline and Valve interfaces between tomcat 5.0 and 5.5/6.0.

Adaptavist Theme Builder Powered by Atlassian Confluence