当前位置: 首页 > 面试题库 >

jdbc中管理丢失连接的标准方法是什么?

毛成济
2023-03-14
问题内容

我的应用程序有时可能会失去与MySQL数据库的连接。我认为,好的解决方案是安排一些计时器,以便在一段时间后尝试重新检查。可以做得更好吗?可能是尝试连接到数据库的单独线程?还是存在标准做法?谢谢。


问题答案:

JDBC是开始构建Java数据库应用程序的好方法,但是管理对象映射和连接/事务可以非常迅速地导致大量样板工作和逻辑重写,许多程序员已经多次编写了该逻辑。

除非您有高吞吐量的应用程序,否则应该正常地断开/关闭连接,在这种情况下,您可能会保持几个连接处于活动状态(这称为连接池)。

基本上有3种“高级”方法来维护有效的连接和事务:

1)最简单的解决方案是检查何时重新使用连接以确保其有效,或者每次都重新打开它。

2)一个更复杂的解决方案是使用连接池机制,例如apache
http://commons.apache.org/dbcp/ dbcp库。

3)最后,在我看来, 最可维护的解决方案是使用ibatis / hibernate之类的JDBC框架该框架
将为您提供一个简单的声明式接口来管理对象关系映射/事务/数据库状态,同时透明地维护您的连接逻辑。

还:如果不是您要使用对象关系映射,则可以使用apache之类的框架(例如DBUtils)来管理查询和连接,而不会影响繁重的数据映射。



 类似资料:
  • 我使用作为我的数据源实现,我的代码获取连接并关闭连接,如下所示: 当我完成连接工作时,我将关闭它 我的问题是:确实是关闭的,所以当连接像一样关闭时,数据源是如何工作的。我听说datasource connection close并不是真正的close,只是release,但我在datasource类中找不到release API。我想知道datasource如何管理数据库连接的创建、关闭和释放。

  • 问题内容: 我们正在使用 订阅主题。但是,我们经常遇到错误。我已经使用JavaScript客户端(mqttws31.js)测试了连接,效果很好。表示连接没有问题。 错误:- MQTT消息:- 配置 :- pom.xml: 在调试时:- 在上述方法中,有时会抛出。所以基于catch块,它使用 问题答案: 我只是想分享一下,以防万一。…我有相同的异常,并通过确保生成了唯一的客户端ID(使用 )来解决它

  • 问题内容: 我正在使用Spring MVC在SQL Server数据库之上构建薄层。当我开始测试时,似乎不能很好地处理压力:)。我正在使用Apache Commons DBCP 来处理连接池和数据源。 当我第一次尝试同时建立约10-15个连接时,它曾经挂起,不得不重启服务器(对于开发人员,我正在使用Tomcat,但最终我将不得不在Weblogic上进行部署)。 这些是我的Spring bean定义

  • 我们正在用Java重写来自PHP的web应用程序。我认为,但我不是很确定,我们可能会在连接池方面遇到问题。应用程序本身是多租户的,是“独立数据库”和“独立模式”的组合。 对于每个Postgres数据库服务器实例,可以有一个以上的数据库(命名为schemax_XXX),其中包含一个以上的模式(模式是租户)。注册时,可能会发生以下两种情况之一: 在编号最高的schema_XXX数据库中创建新的租户模式

  • 本文向大家介绍JDBC连接MySQL5.7的方法,包括了JDBC连接MySQL5.7的方法的使用技巧和注意事项,需要的朋友参考一下 1.首先准备mysql 和eclipse环境,在环境搭建好之后,从eclipse官网下载jdbc的驱动包,下载地址http://dev.mysql.com/downloads/connector/j/ 2.从下载的文件中取出mysql-connector-java-5

  • 问题内容: 我使用10gen的本机node.js驱动器将mongodb(2.2.2)与node.js一起使用。 起初一切顺利。但是当涉及到并发基准测试部分时,会发生很多错误。频繁进行1000次并发连接/关闭可能会导致mongodb拒绝任何进一步的请求,并出现以下错误: 另外,如果许多客户端在没有显式关闭的情况下关闭,则mongodb将花费几分钟的时间来检测并关闭它们。这也将导致类似的连接问题。(使