Skip to content

An implementation of the Tomcat SessionManager that persists data into Redis

License

Notifications You must be signed in to change notification settings

dengber/session-managers

 
 

Repository files navigation

Pivotal Session Managers

This project contains implementations of the Tomcat PersistentManager Store.

RedisStore

This implementation of the Tomcat PersistentManager Store persists data to Redis. Sessions are serialized from their Java representation and the resulting byte[] is stored, keyed by the Session id (i.e. JSESSIONID).

It works with both Tomcat 7 and 8, and with Java 7 and 8.

Usage

To use the Store, edit either the Tomcat instance's or application's context.xml, adding the following, <Valve />, <Manager />, and <Store /> definitions.

<Context>
  ...
  <Valve className="com.gopivotal.manager.SessionFlushValve" />
  <Manager className="org.apache.catalina.session.PersistentManager">
    <Store className="com.gopivotal.manager.redis.RedisStore" />
  </Manager>
  ...
</Context>

Configuration

The Store has a number of configuration elements that dictate how the Redis connection will be created.

Key Default Description
connectionPoolSize -1 The maximum number of concurrent connections
database 0 The database to connect to
host localhost The host to connect to
password <none> The password to use to AUTH
port 6379 The port to connect to
timeout 2000 The connection timeout in milliseconds
uri <none> A URI-style representation of the connection details, e.g. redis://username:password@localhost:6370/0

Contributing

Pull requests are welcome; see the contributor guidelines for details.

License

This project is released under version 2.0 of the Apache License.

About

An implementation of the Tomcat SessionManager that persists data into Redis

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 91.7%
  • Shell 4.9%
  • Batchfile 3.4%