Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果关闭一个关闭的连接会发生什么?_Java_Jdbc_Database Connection - Fatal编程技术网

Java 如果关闭一个关闭的连接会发生什么?

Java 如果关闭一个关闭的连接会发生什么?,java,jdbc,database-connection,Java,Jdbc,Database Connection,我正在阅读数据库访问逻辑,发现同一个连接可能连续关闭两次 除了作为一个重复的指令,还有什么原因我应该关注在连接已经关闭之后关闭它 如果您使用的是java.sql.Connection,那么应该没有问题 从: 对已关闭的连接对象调用方法close 这是禁止的 i、 它什么也不做 这应该代表任何适当的实施。尽管可以想象一些实现在这个问题上会有奇怪的行为。来自文档: 释放此连接对象的数据库和JDBC资源 而不是等待它们自动释放。 对已关闭的连接对象调用方法close 是禁止操作。强烈建议应用程序 在调

我正在阅读数据库访问逻辑,发现同一个连接可能连续关闭两次


除了作为一个重复的指令,还有什么原因我应该关注在连接已经关闭之后关闭它

如果您使用的是java.sql.Connection,那么应该没有问题

从:

对已关闭的连接对象调用方法close 这是禁止的

i、 它什么也不做


这应该代表任何适当的实施。尽管可以想象一些实现在这个问题上会有奇怪的行为。

来自文档:

释放此连接对象的数据库和JDBC资源 而不是等待它们自动释放。 对已关闭的连接对象调用方法close 是禁止操作。强烈建议应用程序 在调用关闭之前提交或回滚活动事务 方法。如果调用close方法并且存在活动 事务,结果由实现定义


简言之,它应该什么都不做。请注意,此
连接
接口的草率实现可能无法满足此接口契约中定义的规则。您没有说明您使用的是哪个数据库,因此我无法提供有关实现细节的进一步信息。

不,没有,假设驱动程序供应商在实现此方法方面做得很好。在使用数据库连接池的情况下,它应该什么也不做。如果它已经关闭,通常关闭方法应该正确处理它。但这取决于你实际使用的是什么。可以想象,某些实现会有奇怪的行为,尽管这种行为非常复杂unlikely@LuiggiMendoza对。澄清