文本描述了三种防止连接中止的解决方案:
使用配置连接字符串
autoReconnect=true
。这是URL连接字符串的属性,该属性在驱动程序级别起作用。您需要在数据源配置中更改连接字符串。url="jdbc:mysql://localhost:3306/confluence?autoReconnect=true"
增加超时。这通常是数据库的属性。您可以增加此值以查看是否获得较少的连接中断。
配置连接池以测试连接的有效性。这是在池而不是驱动程序级别上完成的。这将取决于您使用的数据源实现。但是,如果使用池化数据池(例如c3p0),则应该在数据源的属性中对其进行配置。
- JDBC的连接池选项:DBCP与C3P0
- http://snipplr.com/view/14725/c3p0-datasource-config-connectionpool/
- http://www.mchange.com/projects/c3p0/index.html#configuring_connection_testing
附加评论:
- 数据源/池也可以有一个超时,它对应于空闲连接在池中保留的时间。不要与db超时混淆。
- 有几种方法可以测试连接的有效性。一种常见的方法是拥有虚拟测试表。池将在虚拟测试表上发出选择,以查看连接是否仍然正常。



