spring 多数据源加事务注解报错 不加没事 怎么办呢?
java.lang.IllegalStateException: Cannot deactivate transaction synchronization - not active
<p>这个异常是由于spring的事务处理是按照LIFO/stack behavior的方式进行的,所以在多个事务进行提交时必须按照上述规则进行,否则就会报上面异常。</p>
这是网上直接复制的吧。。。。。。这个我看到过 没看明白 所以来这里问大神的
<p>多数据源,你用了支持TX的事务管理器了吗?不然就是这样了。</p>
回复 <a class="referer" target="_blank">@魔力猫</a> : 好的 谢谢
回复 <a class="referer" target="_blank">@Jordan裔</a> : 这个数据事务管理器不支持JTA分布式事务。你看看Spring集成JTA的文档把。
回复 <a class="referer" target="_blank">@魔力猫</a> : <bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dynamicDataSource"></property>
回复 <a class="referer" target="_blank">@Jordan裔</a> : 核心是transactionManager引用的是什么样的事务管理器
<tx:annotation-driven transaction-manager="transactionManager"/>这样子配置算吗? 用了吧~~~
<div class="ref">
这个异常是由于spring的事务处理是按照LIFO/stack behavior的方式进行的,所以在多个事务进行提交时必须按照上述规则进行,否则就会报上面异常。
<p>有可能是事物管理器不明确造成的,多数据源可能涉及到多个不同的事物管理器,但是每个数据源要对应自己的事物管理器,可以根据注解的值来分配当前的事物管理器</p>
@Transactional(value="当前数据源事物管理器的beanName")
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。