sql >> Database >  >> RDS >> PostgreSQL

java.sql.SQLException:Verbinding is al gesloten

De volgende configuratie werkte voor mij

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

De sleutelwaarde hier is connectionTimeout .De fabriek die u momenteel gebruikt heeft een standaard time-out, daarna wordt de sessie gedwongen te sluiten.

De bovenstaande verbindingstime-outwaarde werkte voor mij, voor uw toepassingsscenario's moet u een beetje experimenteren om de juiste waarde te krijgen.



  1. De verouderde functies in een SQL Server-instantie weergeven met behulp van T-SQL

  2. lavaral 5 FOUT{ (SQLSTATE [HY000] [1045] Toegang geweigerd voor gebruiker 'root'@'localhost' (met wachtwoord:JA)}

  3. Twee foreach-statements met slechts één MySQL-query?

  4. Hoe de BETWEEN-voorwaarde te gebruiken met behulp van hoofdquery's en subquery's