【发布时间】:2020-10-04 00:31:25
【问题描述】:
以下测试方法:
@Test
void testMe() {
Flux.just(1, 2, 3, 4, 5)
.map(this::saveInDb)
.toStream().count();
}
int saveInDb(int element) {
System.out.println(element + " successfully stored in DB.");
return element;
}
总是打印:
1 successfully stored in DB.
2 successfully stored in DB.
3 successfully stored in DB.
4 successfully stored in DB.
5 successfully stored in DB.
我的问题:当 Flux 中有某些特定元素可用时,如何防止任何保存到 DB?
例如:当 Flux 中存在元素 5 时,我不想将任何内容存储到 DB。
是否有可能以非阻塞方式实现此要求?
【问题讨论】:
-
您可以过滤projectreactor.io/docs/core/release/api/reactor/core/publisher/…,也可以在
map语句中添加if-statement。
标签: java reactive-programming spring-webflux project-reactor