我在带有插入语句的方法中设置了查询超时 (getJdbcTemplate().setQueryTimeout(5))。查询超时后会发生什么,jdbc 模板会关闭我的连接吗?
原文由 user3073662 发布,翻译遵循 CC BY-SA 4.0 许可协议
我在带有插入语句的方法中设置了查询超时 (getJdbcTemplate().setQueryTimeout(5))。查询超时后会发生什么,jdbc 模板会关闭我的连接吗?
原文由 user3073662 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
简而言之,是的,它确实关闭了连接。长答案取决于它。
如果您没有 Spring 管理的事务,那么
JdbcTemplate
将调用close()
上的方法Connection
但是,如果由于 Springs 事务管理关闭连接而已经存在可用连接,则连接将由 Springs 事务支持处理,这反过来也会在close()
Connection
。唯一的区别是当连接关闭但
close()
将被调用。如果连接将实际关闭取决于使用哪个
DataSource
,通常在使用连接池时连接将返回到池而不是实际关闭连接。