我正在阅读我的数据库访问逻辑,并发现可以连续两次关闭同一个连接。
除了作为重复指令之外,我是否有任何理由担心在关闭之后关闭连接?
答案 0 :(得分:4)
如果您使用的是java.sql.Connection,则应该没有问题。
在已关闭的Connection对象上调用close方法 是一个无操作。
即。它什么都不做。
这应该代表任何适当的实施。虽然可以想象某些实现在这个问题上有奇怪的行为。
答案 1 :(得分:1)
来自文档:
释放此Connection对象的数据库和JDBC资源 立即而不是等待它们自动释放。 在已关闭的Connection对象上调用close方法 是一个无操作。强烈建议明确应用程序 在调用close之前提交或回滚活动事务 方法。如果调用close方法并且存在活动状态 事务,结果是实现定义的。
所以简而言之,它应该什么都不做。请注意,此Connection
接口的草率实现可能无法满足此接口合同中定义的规则。您没有说明您使用的是哪个数据库,因此我无法提供有关实施细节的更多信息。