次の構成は私のために働いた
<Context context="ROOT" debug="0" reloadable="false" useHttpOnly="true" cacheMaxSize="40960" cacheTTL="60000" cachingAllowed="true" antiJARLocking="true">
<Resource name="XYZ" auth="Container"
description="Exchange DB Connection"
dataSourceClassName="org.postgresql.ds.PGSimpleDataSource"
dataSource.serverName="XXXXX"
dataSource.databaseName="XXXX"
dataSource.portNumber="XXXX"
dataSource.user="xyz"
dataSource.password="xyz"
maximumPoolSize="20"
minimumIdle="5"
connectionTimeout="300000"
factory="com.zaxxer.hikari.HikariJNDIFactory"
registerMbeans="true"
type="javax.sql.DataSource" />
ここでの重要な値はconnectionTimeoutです 。現在使用しているファクトリにはデフォルトのタイムアウトがあり、その後はセッションが強制的に閉じられます。
上記の接続タイムアウト値は私にとってはうまくいきました。アプリケーションシナリオでは、適切な値を取得するために少し実験する必要があります。