【发布时间】:2014-10-01 14:17:35
【问题描述】:
目前,我通过向数据源 bean id 添加属性,在 spring 中将 autocommit 设置为 false,如下所示:
<property name="defaultAutoCommit" value="false" />
但是在执行我的程序之前,我需要将它专门添加到单个 java 方法中。 我使用了下面的代码 sn-p。
getJdbcTemplate().getDataSource().getConnection().setAutoCommit(false);
但上面的行没有将 autocommit 设置为 false?
我错过了什么吗?
或通过spring在特定java方法中设置自动提交的任何替代方法
谢谢
【问题讨论】:
-
我知道可以通过属性标签将自动提交设置为 false 到数据源 bean id.. 但我不想以这种方式设置它。我想在java数据库业务逻辑方法中设置autocommit false
-
@shirish : 你提供的链接告诉我我已经做了什么......!
-
为什么?如果您使用事务管理器,默认情况下会禁用自动提交。您的方法不起作用,因为它会给您一个非托管连接(如果您运行 x 次,其中 x 是池中的连接数,您的池将被耗尽)。
-
@M.Denium。你能帮助我如何做到这一点以及使用事务管理器的设置是什么
标签: spring spring-mvc spring-jdbc spring-transactions