Stores session of Apache Tomcat in Redis and allows to distribute requests across a cluster of Tomcat servers. Implements non-sticky session management backed by Redis.
Supports Apache Tomcat 7.x, 8.x, 9.x, 10.x
Add RedissonSessionManager
in global context - tomcat/conf/context.xml
or per application context - tomcat/conf/server.xml
<Manager className="org.redisson.tomcat.RedissonSessionManager"
configPath="${catalina.base}/redisson.conf"
readMode="REDIS" updateMode="DEFAULT" broadcastSessionEvents="false"
keyPrefix=""/>
keyPrefix
- string prefix applied to all Redis keys. Allows to connect different Tomcat environments to the same Redis instance.
readMode
- read Session attributes mode. Two modes are available:
MEMORY
- stores attributes into local Tomcat Session and Redis. Further Session updates propagated to local Tomcat Session using Redis-based events.REDIS
- stores attributes into Redis only. Default mode.
broadcastSessionEvents
- if true
then sessionCreated
and sessionDestroyed
events are broadcasted across all Tomcat instances and cause all registered HttpSessionListeners to be triggered. Default is false
.
broadcastSessionUpdates
- if true
and readMode=MEMORY
then session updates are broadcasted across all Tomcat instances. Default is true
.
updateMode
- Session attributes update mode. Two modes are available:
DEFAULT
- session attributes are stored into Redis only through Session.setAttribute
method. Default mode.AFTER_REQUEST
readMode=REDIS
all changes of session attributes made through Session.setAttribute
method accomulated in memory and stored into Redis only after end of request.readMode=MEMORY
all session attributes are always stored into Redis after end of request regardless of Session.setAttribute
method invocation. It useful in case when some objects stored in session change own state without Session.setAttribute
method execution.
configPath
- path to Redisson YAML config. See configuration wiki page for more details.
Amount of Redisson instances created by Tomcat for multiple contexts could be reduced through JNDI registry:
JndiRedissonFactory
into tomcat/conf/server.xml
in GlobalNamingResources
tag area: <GlobalNamingResources>
<Resource name="bean/redisson"
auth="Container"
factory="org.redisson.JndiRedissonFactory"
configPath="${catalina.base}/conf/redisson.yaml"
closeMethod="shutdown"/>
</GlobalNamingResources>
JndiRedissonSessionManager
with resource link to redisson instance into tomcat/conf/context.xml
<ResourceLink name="bean/redisson"
global="bean/redisson"
type="org.redisson.api.RedissonClient" />
<Manager className="org.redisson.tomcat.JndiRedissonSessionManager"
readMode="REDIS"
jndiName="bean/redisson" />
TOMCAT_BASE/lib
directory:Tomcat 7.x - redisson-tomcat-7-3.17.7.jar
Tomcat 8.x - redisson-tomcat-8-3.17.7.jar
Tomcat 9.x - redisson-tomcat-9-3.17.7.jar
Tomcat 10.x - redisson-tomcat-10-3.17.7.jar
Try Redisson PRO with ultra-fast performance and support by SLA.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。