https://github.com/jcoleman/tomcat-redis-session-manager
のビルド方法と Tomcat7 への組み込み方法です。
Gradle のインストール
brew install groovy brew install gradle vim ~/.bash_profile
homebrew でインストールを行ったら、環境変数の設定を行います。
export GRADLE_HOME=/usr/local/opt/gradle PATH=${JAVA_HOME}/bin:${GRADLE_HOME}/bin:${PATH}
source ~/.bash_profile
tomcat-redis-session-manager のビルド
git clone https://github.com/jcoleman/tomcat-redis-session-manager.git cd tomcat-redis-session-manager/ vim build.gradle
今回は Java8 でビルドするため、sourceCompatibility, targetCompatibility を変更しておきます。また、リポジトリの行はコメントアウトします。
compileJava { sourceCompatibility = 1.8 targetCompatibility = 1.8 } // repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") { // authentication(userName: sonatypeUsername, password: sonatypePassword) // }
できあがった jar と依存ライブラリを tomcat の lib フォルダに配置します。
cp build/libs/tomcat-redis-session-manager-2.0.0.jar /usr/local/opt/tomcat7/libexec/lib/ wget http://central.maven.org/maven2/redis/clients/jedis/2.5.2/jedis-2.5.2.jar wget http://central.maven.org/maven2/org/apache/commons/commons-pool2/2.2/commons-pool2-2.2.jar vim /usr/local/opt/tomcat7/libexec/conf/context.xml
sessionPersistPolicies の設定項目については、アプリケーションの仕様に合わせて適宜調整をします。
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" /> <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager" host="localhost" port="6379" database="0" maxInactiveInterval="60" sessionPersistPolicies="SAVE_ON_CHANGE" />
vim /usr/local/opt/tomcat7/libexec/conf/web.xml
セッションの期限はこちらで変更します。
<session-config> <session-timeout>1440</session-timeout> </session-config>
Redis のインストール
brew install redis
Redis サーバーの起動
redis-server /usr/local/etc/redis.conf