TomcatのSessionをRedisに外部永続化する方法
Sessionの外部永続化(Not Sticky Session)のためにどうしたら良いか? というのがこのポストです。
環境
- Java 1.6.0_45
- Apache Tomcat 6.0.48
- Redis 3.2.7
$ java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
$ sh version.sh
Using CATALINA_BASE: /opt/apache-tomcat-6.0.48
Using CATALINA_HOME: /opt/apache-tomcat-6.0.48
Using CATALINA_TMPDIR: /opt/apache-tomcat-6.0.48/temp
Using JRE_HOME: /usr
Using CLASSPATH: /opt/apache-tomcat-6.0.48/bin/bootstrap.jar
Server version: Apache Tomcat/6.0.48
Server built: Nov 7 2016 20:05:27 UTC
Server number: 6.0.48.0
OS Name: Linux
OS Version: 4.9.12-moby
Architecture: amd64
JVM Version: 1.6.0_45-b06
JVM Vendor: Sun Microsystems Inc.
$ redis-server --version
Redis server v=3.2.7 sha=00000000:0 malloc=jemalloc-4.4.0 bits=64 build=4b4d638eb6ec5175
対応
jcoleman/tomcat-redis-session-manager: Redis-backed non-sticky session store for Apache Tomcatを利用します。
Jar取得
- tomcat-redis-session-manager-1.2-tomcat-6.jar
- commons-pool-1.6.jar
- jedis-2.0.0.jar
Jar配置
${CATALINA_HOME}/bin
配下に取得したJarを配置します。
Config変更
${CATALINA_HOME}/conf
配下にあるcontext.xml
に以下を追記します。
<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />
<Manager className="com.radiadesign.catalina.session.RedisSessionManager"
host="${redis host}"
port="${redis port}"
/>
${redis host}
: RedisのHost
${redis port}
: RedisのPort
これでSessionをRedisに永続化できるようになります。
Author And Source
この問題について(TomcatのSessionをRedisに外部永続化する方法), 我々は、より多くの情報をここで見つけました https://qiita.com/changeworld/items/5c7ed63cf80291336e35著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .