public class FluxUtils extends Object
| 构造器和说明 |
|---|
FluxUtils() |
| 限定符和类型 | 方法和说明 |
|---|---|
static <T> reactor.core.publisher.Flux<List<T>> |
bufferRate(reactor.core.publisher.Flux<T> flux,
int rate,
java.time.Duration maxTimeout) |
static <T> reactor.core.publisher.Flux<List<T>> |
bufferRate(reactor.core.publisher.Flux<T> flux,
int rate,
int maxSize,
java.time.Duration maxTimeout) |
static <T> reactor.core.publisher.Flux<List<T>> |
bufferRate(reactor.core.publisher.Flux<T> flux,
int rate,
int maxSize,
java.time.Duration maxTimeout,
java.util.function.BiPredicate<T,List<T>> flushCondition) |
static <T> java.util.function.Function<reactor.core.publisher.Flux<T>,reactor.core.publisher.Flux<T>> |
distinct(java.util.function.Function<T,?> keySelector,
java.time.Duration duration)
构造有效期内去重的Flux
flux.as(ReactorUtils.distinct(MyData::getId,Duration.ofSeconds(30)))
|
static <S,T> java.util.function.Function<reactor.core.publisher.Flux<S>,reactor.core.publisher.Flux<T>> |
safeMap(java.util.function.Function<S,T> mapper)
安全的转换Flux中的值,当mapper返回
null时会忽略而不是报错
flux
.as(FluxUtils.safeMap(this::doConvert))
... |
public static <T> java.util.function.Function<reactor.core.publisher.Flux<T>,reactor.core.publisher.Flux<T>> distinct(java.util.function.Function<T,?> keySelector, java.time.Duration duration)
flux.as(ReactorUtils.distinct(MyData::getId,Duration.ofSeconds(30)))
T - 泛型keySelector - 去重的keyduration - 有效期public static <S,T> java.util.function.Function<reactor.core.publisher.Flux<S>,reactor.core.publisher.Flux<T>> safeMap(java.util.function.Function<S,T> mapper)
null时会忽略而不是报错
flux
.as(FluxUtils.safeMap(this::doConvert))
...
S - 源类型T - 目标类型mapper - 转换器public static <T> reactor.core.publisher.Flux<List<T>> bufferRate(reactor.core.publisher.Flux<T> flux, int rate, java.time.Duration maxTimeout)
public static <T> reactor.core.publisher.Flux<List<T>> bufferRate(reactor.core.publisher.Flux<T> flux, int rate, int maxSize, java.time.Duration maxTimeout)
public static <T> reactor.core.publisher.Flux<List<T>> bufferRate(reactor.core.publisher.Flux<T> flux, int rate, int maxSize, java.time.Duration maxTimeout, java.util.function.BiPredicate<T,List<T>> flushCondition)
Copyright © 2019–2022. All rights reserved.