当使用连接池时,设置连接的自动企业= false仅影响此连接吗?

如果我在不设置AutoCommit = true的情况下关闭此连接并获得新连接,将设置此连接的策略= AutoCommit = true吗?

有帮助吗?

解决方案

答案是:“取决于所使用的连接池”。

但是,如果我是一个连接池,我将根据初始配置恢复自动加入状态。我认为其他连接池也会做同样的事情。

其他提示

测试方案:

  1. 设置AutoCommit = false
  2. 使用交易
  3. 关闭连接而不将其设置回AutoCommit = true

结果:何时 这个 重复使用特定连接, 它仍然具有autocommit = false (其他新连接具有默认的AutoCommit = true)。所以,一旦我杀了 这个 在数据库侧的连接并再次调用我的代码,只有这样,池才使我与默认的AutoCommit = true进行了新的连接。

结论:仅影响 这个 连接,但请确保将其设置回AutoCommit = True之前,请先完成! (这是基于实际测试,而不是假设)

注意:这里也注意到这个Beahvior: http://www.coderanch.com/t/583969/jdbc/databases/tomcat-connection-pool-auto-commit

我将JDBC与Tomcat7,Java 1.7,MySQL5.6,Connector/j 5.1一起使用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top