GitHub user funky-eyes added a comment to the discussion: 同一个服务多数据源操作,针对同一个数据源的分支事务进行合并
I believe this scenario, where a single service has multiple data sources all managed by Seata in XA mode, is a valid one. The challenge is that once an XA transaction is in the 'prepare' phase, it cannot be re-entered. This means Seata cannot support business logic that involves multiple modifications to the same resource within that transaction. Therefore, I think we could potentially offer a multi-datasource transaction solution. This solution could use either XA or AT mode at its core. Importantly, it would support connection reuse within the multi-datasource transaction. This would allow for resource re-entry and also prevent the creation of multiple branch transactions. This idea is somewhat similar to the multi-datasource transaction functionality I contributed to the dynamic-datasource project (referenced in @baomidou/dynamic-datasource/pull/316). Of course, that particular implementation doesn't use Seata XA or AT mode underneath, so it doesn't guarantee strong consistency." GitHub link: https://github.com/apache/incubator-seata/discussions/7357#discussioncomment-13231919 ---- This is an automatically sent email for dev@seata.apache.org. To unsubscribe, please send an email to: dev-unsubscr...@seata.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@seata.apache.org For additional commands, e-mail: dev-h...@seata.apache.org