セッションの設定方法
Spring Bootでセッション管理する場合Spring Sessionを使うかと思います。デフォルトではセッションの有効期限が30分しかありません。
一番簡単な設定は下記です。
@EnableRedisHttpSessionの引数のmaxInactiveIntervalInSecondsに設定したい秒数を設定するだけです。
サンプルコードでは86400秒を設定して24時間セッションがきれないようにしています。
package com.sample.config import org.springframework.boot.context.properties.ConfigurationProperties import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration import org.springframework.data.redis.connection.jedis.JedisConnectionFactory import org.springframework.session.data.redis.config.ConfigureRedisAction import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession @Configuration @ConfigurationProperties(prefix = "spring.datasource.redis") @EnableRedisHttpSession(maxInactiveIntervalInSeconds = 86400) class HttpSessionConfig { var host: String = "" var port: Int = 0 @Bean fun connectionFactory(): JedisConnectionFactory { val factory = JedisConnectionFactory() factory.hostName = host factory.port = port return factory } @Bean fun configureRedisAction(): ConfigureRedisAction { return ConfigureRedisAction.NO_OP; } }
ちなみにconfigureRedisAction()メソッドはElasticacheのRedisを使う時には定義しないといけないメソッドです。
関連記事:Spring SessionでElastiCache for Redisを使う場合はConfigコマンドを実行しないようにする
おすすめ書籍
JPAに関して体系的に学べる良い書籍だと思います。良くあるSpring系書籍ですとJPAは少ししか紹介がありませんが丸々一冊JPAに関してなので詳細な解説がされています。内容はJPAと他のORMとの比較から始まりセットアップ、実装の仕方まで幅広く網羅されています。これからJPAで開発を初めてみようかなと考えている方は一読することをオススメします!
Springの概要からインストール方法、各コア機能(Security, Sessionなど)の解説が体系的にまとめられています。2018年に出版されたばかりなので情報も新しいです。これからSpring Bootでアプリケーション開発をしたい方の最初に読む一冊としておすすめします。対象は初心者だけでなく上級者まで幅広く学べるので是非読んでみてください!
髙妻智一
最新記事 by 髙妻智一 (全て見る)
- Polkadot(Substrate)のアドレスとトランザクションについて - 2023-03-09
- 【無料公開】「Goで始めるBitcoin」3章 Bitcoinノードとの通信 技術書典8 - 2020-03-08
- エンジニアがゼロから技術ブログを書くための方法をまとめました - 2019-05-25
コメントを残す