JPA 的事务管理和外部 API 调用

use*_*703 6 spring-transactions spring-boot

我是 Spring 新手,开始在项目中使用 Spring Boot。我们有一个用例,将数据库更改和少量外部 API 调用作为一个事务来实现。请建议,这可以用 spring @transactional 实现吗?

oot*_*ero 5

API 调用是否需要成为事务的一部分?

如果答案是否定的,我建议将TransactionTemplate.doInTransaction()API 请求留在 Tx 之外。

如果您需要在 Tx 内发出 API 请求,我建议您不要这样做,您将在这些请求期间锁定数据库资源。

您还可以搜索并了解有关该eventual consistency型号的更多信息。