论坛首页 Java企业应用论坛

spring的@Transactional为什么不能指定TransactionManager?

浏览 6606 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (6) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-06-10  
用过spring的人应该都使用过@Transactional注解了
在只有一个TransactionManager时没有问题
配置如下:
<!-- 事务配置 -->
	<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory" />
	</bean>
	<!-- 使用annotation定义事务 -->
	<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="false"/>

如果有两个事务管理器 如 HibernateTransactionManager和 DataSourceTransactionManager
就不好办了

为什么不直接在@Transactional上指定事务管理器呢  比如说这样
@Transactional(transactionManager=DataSourceTransactionManager)


实现起来应该不难吧
   发表时间:2010-06-10  
对啊,这个我之前也有遇到,后来直接用AOP配置了。

它只支持一个TransactionMamanger实在头疼。
0 请登录后投票
   发表时间:2010-06-12  
不清楚,期待牛人来解决
0 请登录后投票
   发表时间:2010-06-12  
你可以自己整一个
0 请登录后投票
   发表时间:2010-06-13  
小声说:用到两个TxMgr的时候能保证事务么。是得保证任何时候只用其中一个吧。
这个就把事务处理乃至持久化层的考虑要暴露到前面的层次了,不好吧。
0 请登录后投票
   发表时间:2010-06-13  
如果混合使用了hibernate和jdbc的话,应该用HibernateTransactionManager
0 请登录后投票
   发表时间:2010-07-12  
daquan198163 写道
如果混合使用了hibernate和jdbc的话,应该用HibernateTransactionManager


right,这个时候都会被HibernateTransactionManager管理
0 请登录后投票
   发表时间:2010-07-12  
只要 hibernate和jdbc的connection来自同一个,就可以直接用HibernateTransactionManager同时管理
0 请登录后投票
   发表时间:2010-07-12  
当然可以指定,
<tx:annotation-driven transaction-manager="yourTransactionManager"/>
0 请登录后投票
   发表时间:2010-07-19  
Norther 写道
当然可以指定,
<tx:annotation-driven transaction-manager="yourTransactionManager"/>


是在写@Transactional的时候指定。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics