【发布时间】:2021-09-19 14:15:07
【问题描述】:
由于 R2DBC 是反应式且非阻塞的,我想了解在简单的 RESTful CRUD 服务中使用 R2DBC 的好处
假设 Spring Boot 应用程序使用下面的存储库公开 RESTful 服务
public interface CustomerRepository extends ReactiveCrudRepository<Customer, Long> {
@Query("SELECT * FROM customer WHERE last_name = :lastname")
Flux<Customer> findByLastName(String lastName);
}
此存储库是从服务调用的,结果需要在服务中转换,然后返回到控制器。
Flux<Customer> customers = repository.findAll();
为了访问完整的客户列表,我需要在 Flux 上调用 blockLast(),这会使其阻塞并破坏使用响应式组件的目的
这是否意味着在这个简单的示例中使用 R2DBC 没有任何好处?我错过了什么吗?
flux 是否只能用于异步订阅,其中 Flux 集合的处理发生在不同的线程中?
【问题讨论】:
标签: project-reactor spring-data-r2dbc r2dbc