我在 heroku 上有 PostgreSQL 數據庫的應用程序。解析器運行在我的 PC 上,它每 10 分鐘從 Heroku 的數據庫保存和讀取數據,并使用 Hibernate 進行交互。這是配置:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class">org.postgresql.Driver</property> <property name="hibernate.connection.url">jdbc:postgresql:url</property> <property name="hibernate.connection.username">user</property> <property name="hibernate.connection.password">pass</property> <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQL94Dialect</property> <property name="show_sql">true</property> <property name="hibernate.c3p0.idle_test_period">14400</property><property name="hibernate.c3p0.timeout">25200</property> <property name="hibernate.c3p0.max_size">15</property> <property name="hibernate.c3p0.min_size">3</property> <property name="hibernate.c3p0.max_statements">0</property> <property name="hibernate.c3p0.preferredTestQuery">select 1;</property> </session-factory></hibernate-configuration>但過了一段時間后,我的解析器停止了,我得到了這個:окт 25, 2019 12:44:59 AM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptionsWARN: SQL Error: 0, SQLState: 08006окт 25, 2019 12:44:59 AM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptionsERROR: Ошибка ввода/ввывода при отправке бэкендуокт 25, 2019 12:44:59 AM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptionsWARN: SQL Error: 0, SQLState: 08003окт 25, 2019 12:44:59 AM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptionsERROR: Соединение уже было закрыто有哪些方法可以解決這個問題呢?
1 回答

至尊寶的傳說
TA貢獻1789條經驗 獲得超10個贊
您的數據庫連接正在關閉,并且您僅每 3 小時測試一次它們的有效性。無論如何,空閑測試顯然不是一個好主意。
除非您在舊環境中工作,否則您應該設置hibernate.c3p0.testconnectiononcheckout=true
,這樣您將始終獲得有效的連接。
preferredTestQuery
如果您正在使用 JDBC4 驅動程序(希望您是這樣),那么這也是不必要的。
添加回答
舉報
0/150
提交
取消