加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 何时使用全局事务或使用spring aop进行事务处理

发布时间:2020-12-15 08:31:45 所属栏目:Java 来源:网络整理
导读:Q1.我知道当我们需要处理多个数据库时,我们需要使用全局事务.但是从这篇文章 http://fogbugz.atomikos.com/default.asp开始.建议的人只需使用spring aop就不同的transactionmanager建议(更多 datasource / sessionfactory).任何人都可以解释在什么样的情况下
Q1.我知道当我们需要处理多个数据库时,我们需要使用全局事务.但是从这篇文章 http://fogbugz.atomikos.com/default.asp开始.建议的人只需使用spring aop就不同的transactionmanager建议(更多> datasource / sessionfactory).任何人都可以解释在什么样的情况下我们可以使用这种方法在什么样的情况下我们需要XA(全局事务)与atomikos或jotm或ejb..etc

解决方法

如果你指的是这条消息 http://fogbugz.atomikos.com/default.asp?community.6.596.2,那么OP问题中的重要部分是:

The task can either be a set of sql commands against datasource1 or datasource2.

换句话说,OP将不会获得多个事务资源,他将使用其中一个(并明确写道他并不真正需要XA支持).因此,他并不真正需要全局事务支持,他只能使用本地事务,并且使用J2EE事务管理器对于他的用例并不是强制性的.

这就是答案所暗示的:使用Atomikos不是必要的,可能有点矫枉过正.

使用两个dataSource,两个txManager,两个txAdvice并定义distinct
< AOP:顾问/>具有不同’pointcut’和’advice-ref’属性值的元素将允许将完全不同的事务配置应用于不同的服务层对象/方法.

有关详细信息,请参阅第9.5.4. Configuring different transactional semantics for different beans节.

但是,如果您需要使用多个事务资源(通常是关系数据库和消息队列),那么您需要全局事务支持,这意味着J2EE事务管理器(由J2EE应用程序服务器提供,或者像Atomikos,JBossTS,JOTM等独立提供).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读