xa相关内容

使用 Spring 和 Hibernate 跨多个数据库进行分布式事务的“最佳"方法是什么

我有一个应用程序 - 更像是一个实用程序 - 它位于角落并定期更新两个不同的数据库. 这是一个使用 Spring 应用程序上下文构建的小型独立应用程序.上下文中配置了两个 Hibernate Session Factories,依次使用 Spring 中配置的 Commons DBCP 数据源. 目前没有事务管理,但我想补充一些.对一个数据库的更新取决于对另一个数据库的成功更新. ..
发布时间:2021-12-03 18:02:04 Java开发

如何在 postgresql 中处理分布式事务?

谁能告诉我如何在postgresql中处理分布式事务,也称为“XA"?有没有关于它的资源?非常感谢您的回答. 解决方案 看起来你有点困惑.通常数据库系统支持两种分布式事务类型: 原生分布式事务和 XA 交易. 原生分布式事务一般在同一个RDBMS的不同服务器之间.Postgres 也通过 dblink_exec 命令支持这一点.通常,到另一台服务器的连接是通过所谓的数据库链接 ..
发布时间:2021-06-18 20:44:07 其他开发

Neo4j 是否仍然支持 XA 事务?

我的项目使用 spring boot 和 neo4j.SDN(spring data neo4j)作为数据访问层.最近遇到一个需要跨存储持久化的问题,需要同时更新neo4j和oracle数据库中的数据.因此,这样做的标准方法是 XA 分布式事务.我在将 neo4j 与 JTA 集成时查找的任何资源都是旧的,最近我在 SDN 参考页面上发现了这一点:“Neo4j 正在放弃 XA 支持,因此 SDN ..
发布时间:2021-06-07 18:58:54 其他开发

XA两阶段提交并在准备阶段执行?

我试图理解两阶段提交,但是我不清楚每个本地站点何时执行其分布式事务的一部分. 在发送准备消息之前会发生这种情况.那是在两阶段提交xa协议运行之前发生的吗? 还是每个站点在接收到准备消息后执行分布式交易的一部分,这意味着准备消息本身还包括要执行的交易查询? 解决方案 是的,执行是在发送准备消息之前进行的.您应该假定整个2PC协议都在执行完所有操作后在commit()操作中运行.考 ..
发布时间:2020-07-14 18:31:02 其他开发

什么是“分布式交易"?

有关 分布式事务 的Wikipedia文章不是很有帮助 您能对什么是分布式事务进行高级描述吗? 还可以举例说明为什么应用程序或数据库应该执行更新两台或更多台联网计算机上的数据的事务吗?我了解经典的银行例子;我更关心Web规模的数据库(如Dynamo,Bigtable,HBase或Cassandra)中的分布式事务. 解决方案 通常,事务在一个数据库服务器上发生: BEGI ..
发布时间:2020-07-14 18:31:00 其他开发

自动注册XA Resource Spring Boot

我试图通过持久支持PostgreSQL的Hazelcast和JPA在我的Spring Boot应用程序中实现XA事务.将Atomikos Spring Boot启动器放在我的pom.xml中可以加载JtaTransactionManager,以将其与@Transactional批注一起使用,但是Hazelcast XA资源并未参与该事务. 我如何让Spring Boot在使用JtaTrans ..
发布时间:2020-06-21 19:40:12 其他开发

如何启用XA Oracle 11g

我们最近从MSSQL迁移到Oracle 11g,这对它来说是全新的.有人可以告诉我如何在Oracle上启用XA事务吗?从我收集到的信息来看,我认为我需要运行initjvm.sql和initxa.sql,但是我不确定.是否可以通过企业管理器执行此操作?另外,XA驱动程序类叫什么?那是oracle.jdbc.xa.client.OracleXADatasource吗? 解决方案 阅读此官方Or ..
发布时间:2020-05-22 02:31:55 数据库

如何控制入站jca资源适配器中的XAResource以进行会话事务?

我正在使用JCA为旧版EIS编写入站资源适配器. EIS不支持XA事务.但是,这些消息构成了一个对话,其中存在多个消息.每条消息都会导致将由消息端点执行的操作. 在对话结束时,将收到一个提交/回退消息.届时,所有操作都应提交或回退. 我可以通过RA自己管理生命周期的任何方式吗? 解决方案 我显然可以自己回答问题. 调用ResourceAdapter.start()时 ..
发布时间:2020-04-30 11:04:16 其他开发

没有交易的JTA数据源

(假设手动征募和撤消资源.) 我有许多XA启用的资源/数据源,我计划对其执行事务更新.此外,可以单独更新某些启用XA的数据源(不需要任何其他资源). 假设我已经使用数据源提交了许多事务,那么我可以忽略TransactionManager进行数据源的单方面更新吗. 我是否只是不启动全局事务并直接对资源本身进行提交?假设这是正确的方法,那么我可以随后在没有副作用的情况下将资源注册到事 ..
发布时间:2020-04-25 03:27:21 Java开发

是否可以在JTA(Atomikos)中设置并行事务

我有两个事务资源,数据库和消息队列.因此,我将Atomikos用作XA事务管理器. 在事务(tx1)中,是否可以并行打开另一个分离的事务(tx2)? 在tx2中,它将把一些数据提交到db中,即使tx1可能会失败并最终回滚. tx2必须在tx1内完成,好像在tx2中发生错误时也应该回滚tx1. 有人知道我怎么能做到这一点吗? 谢谢. 解决方案 是的,您可以实现. ..
发布时间:2020-04-25 03:26:57 其他开发

是否仍在使用XA/JTA交易?

我有一个与多个数据库和一些自定义服务交互的应用程序.对于某些操作,我需要类似事务的行为,其中一组更改要么跨所有数据库/服务提交,要么在发生错误时全部回滚. X/Open组的XA标准和Java JTA似乎使用两阶段提交过程完全解决了这个问题.一些数据库(mySQL,Postgres,Oracle)支持这些接口,但是我感到它们不经常使用或流行度下降.真的吗?如果是这样,为什么? 我知道在M ..
发布时间:2020-04-25 03:26:45 数据库

JBoss垃圾邮件XA Recovery警告

我正在运行一个JPA/Spring应用程序,该应用程序连接到Microsoft SQL Server上多个启用XA的数据源.一切正常,全局事务正确启动并根据需要回滚... 但是,JBoss时不时地疯狂并每隔几秒钟就开始发送以下警告: 10:25:22,524 WARN [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016027: Loc ..
发布时间:2019-09-20 19:40:48 Java开发

XA/JTA事务:在数据库更改可见之前,JMS消息已到达

上下文是: 生产者(JTA事务 PT )正在向JMS队列发送消息并进行数据库更新. 消费者(JTA交易 CT )在相同的队列上进行侦听,并在收到消息时读取数据库; 应用程序服务器-WebLogic,数据库-Oracle. 我观察到,如果已经收到相应的JMS消息( > PT 已提交?) JTA似乎不能保证这种一致性(Jurgen Holler的演讲“性能的交易选择" 中也证实了 ..
发布时间:2019-09-18 19:33:19 Java开发

XA数据源的性能开销 - 最佳实践

我试图了解XA数据源对性能的影响。 在许多应用程序中,并非所有事务都需要参与分布式事务(这意味着只有少数事务需要与其他资源一起分发/参与)。 性能的折衷是否足以配置两个数据源(XA和非XA各一个)?同样,答案是,这取决于场景,但我正在寻找“最佳实践”。 解决方案 值得仅在需要时使用XA事务。与非XA情况相比,XA提交代码路径的成本是3-4倍。大部分成本是由额外的沟通造成的。事务 ..
发布时间:2019-01-15 10:57:18 Java开发