Help us understand the problem. What is going on with this article?

H2 Databaseのコンソールタイムアウト(セッションタイムアウト)を設定する

TL;DR

  • H2 DatabaseのWebコンソールのセッションタイムアウトは、デフォルトで30分
  • これを延長する場合は、システムプロパティh2.consoleTimeoutで秒数を指定する

コンソールタイムアウト

H2 Databaseを起動すると、http://localhost:8082でアクセス可能なWebコンソールが起動します。

これのことですね。

image.png

このセッションタイムアウトは、デフォルトで30分になっています。

人によっては、短いと感じるかもしれません。少し放置する時間があって、タイムアウトするとそれまで書いていたクエリがなくなったりするわけです。

h2.consoleTimeoutを設定する

Webコンソールのタイムアウトを設定するには、CONSOLE_TIMEOUTを設定すればよいみたいです。

SysProperties

CONSOLE_TIMEOUT

デフォルトは1800000で、実際にシステムプロパティとして指定する時はh2.consoleTimeoutを指定します。

https://github.com/h2database/h2database/blob/version-1.4.200/h2/src/main/org/h2/engine/SysProperties.java#L153-L158

SysPropertiesのプロパティのidが、このキーになっていましたね、記事を書いていて気づきました。

https://www.h2database.com/javadoc/org/h2/engine/SysProperties.html#h2.consoleTimeout

これを、H2 Databaseの起動時にシステムプロパティとして指定します。

指定方法は、こちらを参考に。

Settings Read from System Properties

H2 Databaseのバージョン1.4.200で実行しました。

$ java -cp bin/h2-1.4.200.jar -Dh2.consoleTimeout=[秒数] org.h2.tools.Console

以下は、デフォルト値の30分(1800000秒)を明示的に指定した例です。

$ java -cp bin/h2-1.4.200.jar -Dh2.consoleTimeout=1800000 org.h2.tools.Console

これで、コンソールのタイムアウト(セッションタイムアウト)を変更することができるようになります。

確認に使用したJavaのバージョンは、こちらです。

$ java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-8u222-b10-1ubuntu1~18.04.1-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした