sql >> Databasteknik >  >> RDS >> PostgreSQL

java.sql.SQLException:Anslutningen har redan stängts

Följande konfiguration fungerade för mig

<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" />

Nyckelvärdet här är connectionTimeout . Fabriken som du använder för närvarande har en standard timeout, efter det tvingar den sessionen att stängas.

Timeoutvärdet för anslutningen ovan fungerade för mig , för dina applikationsscenarier måste du experimentera lite för att få rätt värde.



  1. Vad är det rätta sättet att fylla i en DropDownList från en databas?

  2. Hur kör man en .sql-fil med powershell?

  3. Databashantering och övervakning för PostgreSQL 12

  4. Entity-Framework -> MySql ger "Timeout för funktionsutvärdering."