我在Tomcat中有一个DBCP连接池。问题在于,当连接短暂中断时,应用程序被中断,因为在有连接时,DBCP不会再尝试重新连接。我可以让DBCP自动重新连接吗?自动重新连接数据库连接
回答
有2种方式来“解决”这个,虽然双方有一些问题:
您可以使用“validationQuery”(见下文),在出发前有一个测试运行查询(一般的东西。像“中选择1从双”,这将被用来测试连接前/你后/让他们到游泳池这增加了每从池中连接请求额外的呼叫请参阅:http://wiki.apache.org/commons/DBCP
而不是每个查询,你可以通过设置testWhileIdle来实现idleEvictorThread,尽管在某些版本中线程会在高负载下导致死锁。请参阅:http://commons.apache.org/dbcp/configuration.html关于更多的细节和其他选项
不要以为DBCP这样做,但BoneCP(http://jolbox.com)可以被配置为当DB或网络出现故障时自动重播任何事务。它对您的应用程序完全透明。
如何配置? – 2011-08-25 14:03:55
查看transactionReplay功能。不要在Hibernate中使用它(它们有bug) – wwadge 2011-09-12 15:35:52
- 1. 自动重新连接postgresq数据库
- 2. 重新连接数据库,如果连接重新启动
- 3. HikariCP自动重新连接
- 4. 如何禁用自动重新连接到oracle数据库?
- 5. 如何在PHP中启用数据库自动重新连接?
- 6. 关闭并重新连接SQLAlchemy会话的数据库连接?
- 7. 重置或刷新数据库连接
- 8. TYPO3重新连接到数据库
- 9. AnyEvent :: DBI和数据库重新连接
- 10. 尝试重新连接到数据库
- 11. 在Django中重新连接数据库
- 12. Django数据库重新连接
- 13. 刷新数据库连接
- 14. 刷新数据库连接
- 15. 更新数据库连接
- 16. Mongodb:自动重新连接,由同级重置的连接
- 17. 自动连接到数据库?
- 18. Codeigniter:自动连接到Neo4J数据库
- 19. 动态数据库连接
- 20. 动态数据库连接
- 21. JDBC连接池:数据库重新启动后连接不再循环
- 22. 当网站重新启动时自动恢复/重新连接SignalR连接
- 23. 如何在连接中断后自动重新连接Oracle连接池?
- 24. PPP持久连接(3G网络自动重新连接上pppd)
- 25. Hibernate JDBCExceptionReporter - >连接有效性,超时,自动重新连接
- 26. 连接丢失后自动重新连接到MySql
- 27. 如何使node.js TCP连接自动重新连接?
- 28. 连接数据库
- 29. 数据库连接
- 30. 数据库连接
可以肯定的是,当你获得它时,你是否在'try'块的'finally'块中调用'connection.close()'?到处? *真的吗?*是的? – BalusC 2010-03-30 20:37:32