跨非事务性后端的Spring XA事务是否可行?

时间:2015-10-09 04:03:17

标签: spring transactions xa

我正在编写一个必须跨3个不同平台进行通信的应用程序。两个通过REST API(没有jdbc驱动程序)公开它们的数据库,一个是本机JDBC连接(例如:Derby,MySQL,Oracle等)。

我的问题是,在更新数据时我无法确保任何ACID',因为这三个应该同时更新。

我试过阅读Spring XA,但似乎2PC和1PC都需要某种形式的事务后端。鉴于我的3个目的地中有2个是REST API,我没有任何交易。只是一个保存/更新选项。

我是否可以使用哪些技术来确保3个源同步,并且如果写入失败(即:REST端点不可用等),我不会遇到不一致的状态?

交易示例如下:

  1. 从DB
  2. 读取
  3. 写入REST-1端点
  4. 更新数据库
  5. 写入REST-2端点
  6. 我是否可以采用某种形式的XA来包装所有内容以确保一致性?

0 个答案:

没有答案