Následující konfigurace mi fungovala
<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" />
Klíčová hodnota je zde connectionTimeout .Továrna, kterou aktuálně používáte, má výchozí časový limit, po kterém si vynutí ukončení relace.
Výše uvedená hodnota časového limitu připojení mi fungovala, pro scénáře vaší aplikace budete muset trochu experimentovat, abyste získali správnou hodnotu.