質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

1回答

21671閲覧

Java + Springboot セッションタイムアウトの時間設定

emeraldworm

総合スコア16

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

2クリップ

投稿2017/01/26 07:05

Java + SpringBootを利用してWEBシステムの開発を行っております。
セッションタイムアウトの時間の設定(2時間でタイムアウト)を行いたいのですが、
どのように設定を行えばよいでしょうか?

やってみたこととしては、application_propertiesに以下の設定を記述しましたが
設定値通りのタイムアウトの時間にならず、反映されていないように思えます。(約30分程度でタイムアウトしてしまいます。)

server.session.timeout=7200

恐れ入りますが、ご教授ください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

koronatail

2017/01/26 08:20

jarでパッケージングして動かしているという認識で大丈夫でしょうか。
emeraldworm

2017/01/26 08:36

jarではなく、warでパッケージしております。
guest

回答1

0

ベストアンサー

application.propertiesのserver.session.timeoutで指定できるのは組み込みtomcatの設定です。
warでパッケージングして動かしているのであれば、そのwarがのっているtomcatの設定を変更する必要があります。
tomcatのweb.xmlを確認してください。

追記:
【参考】
spring bootのapplication propertiesのドキュメント
https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
EMBEDDED SERVER CONFIGURATIONと書いてある項目があります。

# EMBEDDED SERVER CONFIGURATION (ServerProperties) server.address= # Network address to which the server should bind to. server.compression.enabled=false # If response compression is enabled. ・・・

この「EMBEDDED SERVER CONFIGURATION」の項目は組み込みサーバの設定なのでwarで出力して別のサーバで動かす場合そちらの設定に従います。

投稿2017/01/26 08:43

編集2017/01/26 08:56
koronatail

総合スコア433

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

emeraldworm

2017/01/26 09:11

koronatail 様 ご回答いただき有難うございました。 サーバ側のweb.xmlの設定を確認してみます。 ただ一つ疑問なのですが、application.propertiesの設定がローカル環境にて動作させる場合にも反映されていないのはなぜなのでしょうか? (eclipseにて、対象プロジェクトを右クリック→実行→SpringBootアプリケーションとして実行)
koronatail

2017/01/26 09:24

右クリック実行でも反映されないですか・・・。リクエストを受け取るControllerのメソッドの引数にHttpServletRequestを加えた上でrequest.getSession().getMaxInactiveInterval()するとセッションの有効期限が取得できますが、この値にapplication.propatiesの値は反映されているでしょうか。 Eclipse、Spring Bootのバージョン等も載せていただくと参考になるかもしれません。
emeraldworm

2017/01/26 09:47

koronatail 様 コメントありがとうございます。 request.getSession().getMaxInactiveInterval();してみたところ、プロパティの設定値が 反映されていたため、きちんと時間を測定してみたところ、ちゃんと既定の時間でタイムアウトしました。大変失礼いたしました。 サーバ側のweb.xmlのタイムアウト値はやはり30分になっていたため、こちらを120分に変更し、サーバ再起動を行ったところ、無事時間が変更されました。 本当に助かりました。ありがとうございました。
koronatail

2017/01/26 09:58

因みに30分という設定はtomcatデフォルトの設定なので組み込みtomcatの設定もデフォルトでは30分になっています。 解決して何よりです!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問