Tomcat Session Manager backed by Riak
Groovy
Latest commit df96747 Dec 24, 2010 @jbrisbin Tweaked README
Failed to load latest commit information.
src Initial check in Dec 24, 2010
.gitignore Initial check in Dec 24, 2010
README.md Tweaked README Dec 24, 2010
build.gradle Initial check in Dec 24, 2010

README.md

Tomcat Session Manager for Riak

This is a rough draft of a Tomcat session manager implementation backed by the Riak key/value data store. It should be useful for setting up a cluster of Tomcat instances that share user session data, allowing you to serve web apps without sticky sessions, as the user's session data will be persisted to a central Riak server rather than reside in the local server's memory.

To configure a web app for using this session manager, you'll need all the dependencies of the session manager, which include Groovy and Spring Data for Riak.

Here's a list of the third-party dependencies from my local test server:

activation-1.1.1.jar
groovy-all-1.7.5.jar
jackson-core-asl-1.6.0.jar
jackson-mapper-asl-1.6.0.jar
jcl-over-slf4j-1.6.1.jar
log4j-1.2.15.jar
mail-1.4.1.jar
riak-sessions.jar
slf4j-api-1.6.1.jar
slf4j-log4j12-1.6.1.jar
spring-beans-3.0.5.RELEASE.jar
spring-context-3.0.5.RELEASE.jar
spring-core-3.0.5.RELEASE.jar
spring-data-riak-1.0.0.M2-SNAPSHOT.jar
spring-tx-3.0.5.RELEASE.jar
spring-web-3.0.5.RELEASE.jar

For convenience, I've uploaded a zip file that contains all these dependencies in binary form.

When these jars are available in your server's classpath, configure your META-INF/context.xml like so:

<?xml version="1.0" encoding="UTF-8"?>
<Context>
  <Manager className="com.jbrisbin.vpc.riak.session.RiakManager"
           defaultUri="http://localhost:8098/riak/{bucket}/{key}"
           mapReduceUri="http://localhost:8098/mapred"
           maxInactiveInterval="1800"/>
</Context>