JdbcTemplate与TransactionManager的确如何协同工作?

时间:2010-02-12 09:27:12

标签: java spring transactions jdbctemplate

据我所知,DataSourceTransactionManager将JDBC连接从指定的DataSource绑定到当前线程,允许每个DataSource一个线程绑定连接。如果它是一个连接池,它将采用一个可用的连接。

在此之后,如果我在事务中使用JdbcTemplate,它将捕获由DataSourceTransactionManager绑定的连接。我能正确理解机制吗?有没有要求进行事务管理器bean定义(即单例)?

2 个答案:

答案 0 :(得分:3)

你几乎已经描述了它是如何运作的。 Spring的事务同步逻辑对于保持事务在JDBC,Hibernate,JPA等之间保持同步具有相当可怕的责任,最终结果非常无缝。

交易经理必须是单身人士,是的。任何一个交易都只由一个交易经理管理,如果你有几个交易经理,你就会陷入痛苦的世界。

答案 1 :(得分:0)

从DataSource获取的连接的生命周期的默认值为15秒。您可以在连接属性中明确指定最大连接超时。