当我的应用程序服务器与Postgres失去连接时,我遇到了问题。当网络出现,Postgres数据库重启等等时会发生这种情况。
我可以通过重新启动Postgres服务(在Windows上)来复制问题,然后我的appserver(Java-spark)出现了这些错误。
我知道这个问题可能与jdbc属性有关,例如testOnBorrow,validationQuery,removeAbandoned。但我无法让它发挥作用。 作为参考,这是我的连接代码:
Class.forName(this.config.get("class"));
//create the connection object
connect = DriverManager.getConnection(this.config.get("dsn"), this.config.get("username"), this.config.get("password"));
而我的DSN是:
jdbc:postgresql://127.0.0.1:5432/mydb?testOnBorrow=true&removeAbandoned=true&validationQuery="select 1"
我需要帮助来配置jdbc,以便在db-connection丢失时能够重新连接。