当前位置: 首页 > 知识库问答 >
问题:

使用两个数据库的Atomikos事务

祁烨
2023-03-14

我已经使用单个数据库事务测试了Atomikos JTA并运行良好。但是我没有看到任何跨两个数据库的事务示例。注意:我使用的是Atomikos独立API(即不使用Spring/Hibernate或其他框架)。

我想要的是编写一个事务,将其插入/update/commit到两个分离的数据库(Oracle-Oracle用于我的测试)中。如果两者都成功,则执行提交,如果有异常,则执行回滚。

共有1个答案

孟振
2023-03-14

实际上与单个数据源配置没有任何区别。下面是我在GitHub中编写的示例。请确保您使用的是XADataSource而不是普通的DataSource,但对于单个DataSoucre情况也是如此。

 类似资料:
  • Apache ShardingSphere 默认的 XA 事务管理器为 Atomikos。 数据恢复 在项目的 logs 目录中会生成xa_tx.log, 这是 XA 崩溃恢复时所需的日志,请勿删除。 修改配置 可以通过在项目的 classpath 中添加 jta.properties 来定制化 Atomikos 配置项。 详情请参见Atomikos官方文档。

  • 我正在用我的应用程序测试PostgreSQL和CockroachDB。我可以用PostgreSQL或CockroachDB运行我的应用程序。是否可以设置Flyway,使我可以使用Flyway支持运行,而不会因为为我目前不使用的另一个数据库配置Flyway而出现错误? 我试图寻找回答这个问题的留档,但似乎这方面的大多数留档都涉及同时运行两个数据库,这不是我在这里试图做的。 没什么大不了的,但我很好奇

  • 问题内容: 我正在使用两个MySQL数据库。我想将DB1中的表与SQLAlchemy中DB2中的表连接起来。 我在sqlalchemy中创建数据访问层时正在使用automap_base,如下所示… 我的表类就像 我正在这样加入 我收到这样的错误: 我们在数据库db1中创建了表t1,在数据库db2中创建了表t2。 是否可以在sqlalchemy ORM中的两个数据库表之间进行联接?如何实现呢? 问题

  • 我正在开发一个基于SAAS的站点,我必须将两个DBs中的两个表连接起来,比如说DB1中的table1和DB2中的table2。我必须使用cakephp中的join从表1和表2获取匹配记录,但它会抛出如下错误: 错误:SQLSTATE[42000]:语法错误或访问冲突:1142 SELECT命令拒绝用户'dbname'@'localhost'访问表'table_name'。 有谁能解释一下如何使用c

  • 我需要帮助设置一个应用程序,该应用程序将内部(主)MS SQL数据库DB1中的数据子集复制到另一个MySQL数据库DB2中,该数据库在Web服务器上运行,供Web应用程序使用(即,我想同步这两个数据库)。这两个数据库上的表具有相同的名称,尽管DB2上只定义了属性/列的子集。我想使用(xml配置的)spring、spring data jpa(即JpaRepository接口)和hibernate作

  • 我们的应用程序目前有两个独立的数据库/模式。我们遇到了与此设置数据不一致的情况,因此我们要么需要跨两个数据库的事务处理,要么需要合并数据库。我们不想使用JTA事务,因为我们使用的是普通的Tomcat。因此我们的方法是将两个数据库/模式合并为一个。 这两个数据库/模式目前都是通过Liquibase管理的,我们希望维护两个单独的变更日志,因为一组实体来自第三方工具,另一组由我们管理。除了liquiba

  • 问题: 怎样使用数据库事务处理? 解决: 数据库对象有一个方法“transaction”,将启动一个新的事务,并返回事务对象。这个事务对象可以使用commit提交事务或rollback来回滚事务。 import web db = web.database(dbn="postgres", db="webpy", user="foo", pw="") t = db.transaction() try

  • 问题内容: 我们正在多家商店中运行带有MySql后端的Java PoS(销售点)应用程序。我想保持商店中的数据库与主机服务器上的数据库同步。 商店中发生某些更改时,应在主机服务器上对其进行更新。我该如何实现? 问题答案: 复制不是很难创建。 这里有一些很好的教程: http://aciddrop.com/2008/01/10/step-by-step-how-to-setup-mysql-data