【发布时间】:2021-04-06 10:26:39
【问题描述】:
我想知道普通的 java API 调用(我的意思是没有 I/O 的方法)是否应该作为“迷你阻塞调用”线程化?像这样实现 Reactive Streams 是否可以接受(在返回 Publisher 之前调用方法):
public Mono<String> doSomething(Object anyObject){
validator.validate(anyObject); // it returns void so in this case it cannot be in filter
return Mono.just(anyObject)
.flatmap(service::process);
}
而不是(在流中调用它)
public Mono<String> doSomething(Object anyObject){
return Mono.just(anyObject)
.doOnNext(validator::validate)
.flatmap(service::process);
}
此验证器仅作为示例。这种方法是否有任何缺点,或者在返回语句之前的这些方法应该始终包含在流中?
【问题讨论】:
-
如果将其置于反应器上下文之外,系统将无法利用根据需要切换线程的能力来优化线程使用。
标签: spring-webflux project-reactor reactive