Update after MonoProcessor deprecation in Reactor
This commit adapts the usage of `MonoProcessor` after deprecations introduced in reactor/reactor-core#1053
This commit is contained in:
parent
922f9452f2
commit
617ec359bd
|
@ -23,6 +23,7 @@ import org.reactivestreams.Publisher;
|
|||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
import reactor.core.publisher.MonoProcessor;
|
||||
import reactor.core.publisher.Sinks;
|
||||
|
||||
import org.springframework.core.ResolvableType;
|
||||
import org.springframework.core.io.buffer.DataBuffer;
|
||||
|
@ -92,7 +93,7 @@ public interface Decoder<T> {
|
|||
default T decode(DataBuffer buffer, ResolvableType targetType,
|
||||
@Nullable MimeType mimeType, @Nullable Map<String, Object> hints) throws DecodingException {
|
||||
|
||||
MonoProcessor<T> processor = MonoProcessor.create();
|
||||
MonoProcessor<T> processor = MonoProcessor.fromSink(Sinks.one());
|
||||
decodeToMono(Mono.just(buffer), targetType, mimeType, hints).subscribeWith(processor);
|
||||
|
||||
Assert.state(processor.isTerminated(), "DataBuffer decoding should have completed.");
|
||||
|
|
|
@ -33,6 +33,7 @@ import org.springframework.util.Assert;
|
|||
* @since 5.1
|
||||
* @param <T> the object type
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
public class MonoToListenableFutureAdapter<T> implements ListenableFuture<T> {
|
||||
|
||||
private final MonoProcessor<T> processor;
|
||||
|
|
|
@ -28,6 +28,7 @@ import org.reactivestreams.Publisher;
|
|||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
import reactor.core.publisher.MonoProcessor;
|
||||
import reactor.core.publisher.Sinks;
|
||||
|
||||
import org.springframework.core.io.buffer.DataBuffer;
|
||||
import org.springframework.core.io.buffer.DataBufferUtils;
|
||||
|
@ -162,7 +163,7 @@ class MessagingRSocket implements RSocket {
|
|||
}
|
||||
|
||||
private Flux<Payload> handleAndReply(Payload firstPayload, FrameType frameType, Flux<Payload> payloads) {
|
||||
MonoProcessor<Flux<Payload>> replyMono = MonoProcessor.create();
|
||||
MonoProcessor<Flux<Payload>> replyMono = MonoProcessor.fromSink(Sinks.one());
|
||||
MessageHeaders headers = createHeaders(firstPayload, frameType, replyMono);
|
||||
|
||||
AtomicBoolean read = new AtomicBoolean();
|
||||
|
|
|
@ -34,6 +34,7 @@ import org.apache.commons.logging.LogFactory;
|
|||
import org.reactivestreams.Publisher;
|
||||
import reactor.core.publisher.Mono;
|
||||
import reactor.core.publisher.MonoProcessor;
|
||||
import reactor.core.publisher.Sinks;
|
||||
import reactor.core.scheduler.Scheduler;
|
||||
import reactor.core.scheduler.Schedulers;
|
||||
import reactor.netty.Connection;
|
||||
|
@ -204,7 +205,7 @@ public class ReactorNettyTcpClient<P> implements TcpOperations<P> {
|
|||
}
|
||||
|
||||
// Report first connect to the ListenableFuture
|
||||
MonoProcessor<Void> connectMono = MonoProcessor.create();
|
||||
MonoProcessor<Void> connectMono = MonoProcessor.fromSink(Sinks.one());
|
||||
|
||||
this.tcpClient
|
||||
.handle(new ReactorNettyHandler(handler))
|
||||
|
@ -315,7 +316,7 @@ public class ReactorNettyTcpClient<P> implements TcpOperations<P> {
|
|||
logger.debug("Connected to " + conn.address());
|
||||
}
|
||||
});
|
||||
MonoProcessor<Void> completion = MonoProcessor.create();
|
||||
MonoProcessor<Void> completion = MonoProcessor.fromSink(Sinks.one());
|
||||
TcpConnection<P> connection = new ReactorNettyTcpConnection<>(inbound, outbound, codec, completion);
|
||||
scheduler.schedule(() -> this.connectionHandler.afterConnected(connection));
|
||||
|
||||
|
|
|
@ -26,6 +26,7 @@ import org.reactivestreams.Publisher;
|
|||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
import reactor.core.publisher.MonoProcessor;
|
||||
import reactor.core.publisher.Sinks;
|
||||
|
||||
import org.springframework.core.io.buffer.DataBuffer;
|
||||
import org.springframework.core.io.buffer.DataBufferFactory;
|
||||
|
@ -64,7 +65,7 @@ public class MockServerHttpResponse extends AbstractServerHttpResponse {
|
|||
super(dataBufferFactory);
|
||||
this.writeHandler = body -> {
|
||||
// Avoid .then() which causes data buffers to be released
|
||||
MonoProcessor<Void> completion = MonoProcessor.create();
|
||||
MonoProcessor<Void> completion = MonoProcessor.fromSink(Sinks.one());
|
||||
this.body = body.doOnComplete(completion::onComplete).doOnError(completion::onError).cache();
|
||||
this.body.subscribe();
|
||||
return completion;
|
||||
|
|
|
@ -25,6 +25,7 @@ import org.reactivestreams.Publisher;
|
|||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
import reactor.core.publisher.MonoProcessor;
|
||||
import reactor.core.publisher.Sinks;
|
||||
import reactor.core.scheduler.Schedulers;
|
||||
|
||||
import org.springframework.core.io.buffer.DataBuffer;
|
||||
|
@ -83,8 +84,8 @@ public class HttpHandlerConnector implements ClientHttpConnector {
|
|||
private Mono<ClientHttpResponse> doConnect(
|
||||
HttpMethod httpMethod, URI uri, Function<? super ClientHttpRequest, Mono<Void>> requestCallback) {
|
||||
|
||||
MonoProcessor<Void> requestWriteCompletion = MonoProcessor.create();
|
||||
MonoProcessor<Void> handlerCompletion = MonoProcessor.create();
|
||||
MonoProcessor<Void> requestWriteCompletion = MonoProcessor.fromSink(Sinks.one());
|
||||
MonoProcessor<Void> handlerCompletion = MonoProcessor.fromSink(Sinks.one());
|
||||
ClientHttpResponse[] savedResponse = new ClientHttpResponse[1];
|
||||
|
||||
MockClientHttpRequest mockClientRequest = new MockClientHttpRequest(httpMethod, uri);
|
||||
|
|
|
@ -27,6 +27,7 @@ import org.reactivestreams.Publisher;
|
|||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
import reactor.core.publisher.MonoProcessor;
|
||||
import reactor.core.publisher.Sinks;
|
||||
|
||||
import org.springframework.core.io.buffer.DataBuffer;
|
||||
import org.springframework.core.io.buffer.DefaultDataBufferFactory;
|
||||
|
@ -132,7 +133,7 @@ class WiretapConnector implements ClientHttpConnector {
|
|||
|
||||
private final DataBuffer buffer = DefaultDataBufferFactory.sharedInstance.allocateBuffer();
|
||||
|
||||
private final MonoProcessor<byte[]> content = MonoProcessor.create();
|
||||
private final MonoProcessor<byte[]> content = MonoProcessor.fromSink(Sinks.one());
|
||||
|
||||
private boolean hasContentConsumer;
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@ import java.util.List;
|
|||
import java.util.stream.Collectors;
|
||||
|
||||
import reactor.core.publisher.MonoProcessor;
|
||||
import reactor.core.publisher.Sinks;
|
||||
|
||||
import org.springframework.core.DefaultParameterNameDiscoverer;
|
||||
import org.springframework.core.ParameterNameDiscoverer;
|
||||
|
@ -102,7 +103,7 @@ public class SyncInvocableHandlerMethod extends HandlerMethod {
|
|||
public HandlerResult invokeForHandlerResult(ServerWebExchange exchange,
|
||||
BindingContext bindingContext, Object... providedArgs) {
|
||||
|
||||
MonoProcessor<HandlerResult> processor = MonoProcessor.create();
|
||||
MonoProcessor<HandlerResult> processor = MonoProcessor.fromSink(Sinks.one());
|
||||
this.delegate.invoke(exchange, bindingContext, providedArgs).subscribeWith(processor);
|
||||
|
||||
if (processor.isTerminated()) {
|
||||
|
|
|
@ -25,6 +25,7 @@ import java.util.Optional;
|
|||
|
||||
import reactor.core.publisher.Mono;
|
||||
import reactor.core.publisher.MonoProcessor;
|
||||
import reactor.core.publisher.Sinks;
|
||||
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.core.DefaultParameterNameDiscoverer;
|
||||
|
@ -116,7 +117,7 @@ public class ModelAttributeMethodArgumentResolver extends HandlerMethodArgumentR
|
|||
Mono<?> valueMono = prepareAttributeMono(name, valueType, context, exchange);
|
||||
|
||||
Map<String, Object> model = context.getModel().asMap();
|
||||
MonoProcessor<BindingResult> bindingResultMono = MonoProcessor.create();
|
||||
MonoProcessor<BindingResult> bindingResultMono = MonoProcessor.fromSink(Sinks.one());
|
||||
model.put(BindingResult.MODEL_KEY_PREFIX + name, bindingResultMono);
|
||||
|
||||
return valueMono.flatMap(value -> {
|
||||
|
|
|
@ -26,6 +26,7 @@ import org.reactivestreams.Subscription;
|
|||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
import reactor.core.publisher.MonoProcessor;
|
||||
import reactor.core.publisher.Sinks;
|
||||
import reactor.util.concurrent.Queues;
|
||||
|
||||
import org.springframework.core.io.buffer.DataBufferFactory;
|
||||
|
@ -73,7 +74,7 @@ public abstract class AbstractListenerWebSocketSession<T> extends AbstractWebSoc
|
|||
|
||||
private final AtomicBoolean sendCalled = new AtomicBoolean();
|
||||
|
||||
private final MonoProcessor<CloseStatus> closeStatusProcessor = MonoProcessor.create();
|
||||
private final MonoProcessor<CloseStatus> closeStatusProcessor = MonoProcessor.fromSink(Sinks.one());
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
@ -27,6 +27,7 @@ import org.eclipse.jetty.websocket.client.ClientUpgradeRequest;
|
|||
import org.eclipse.jetty.websocket.client.io.UpgradeListener;
|
||||
import reactor.core.publisher.Mono;
|
||||
import reactor.core.publisher.MonoProcessor;
|
||||
import reactor.core.publisher.Sinks;
|
||||
|
||||
import org.springframework.context.Lifecycle;
|
||||
import org.springframework.core.io.buffer.DefaultDataBufferFactory;
|
||||
|
@ -136,7 +137,7 @@ public class JettyWebSocketClient implements WebSocketClient, Lifecycle {
|
|||
}
|
||||
|
||||
private Mono<Void> executeInternal(URI url, HttpHeaders headers, WebSocketHandler handler) {
|
||||
MonoProcessor<Void> completionMono = MonoProcessor.create();
|
||||
MonoProcessor<Void> completionMono = MonoProcessor.fromSink(Sinks.one());
|
||||
return Mono.fromCallable(
|
||||
() -> {
|
||||
if (logger.isDebugEnabled()) {
|
||||
|
|
|
@ -32,6 +32,7 @@ import org.apache.commons.logging.Log;
|
|||
import org.apache.commons.logging.LogFactory;
|
||||
import reactor.core.publisher.Mono;
|
||||
import reactor.core.publisher.MonoProcessor;
|
||||
import reactor.core.publisher.Sinks;
|
||||
import reactor.core.scheduler.Schedulers;
|
||||
|
||||
import org.springframework.core.io.buffer.DataBufferFactory;
|
||||
|
@ -95,7 +96,7 @@ public class StandardWebSocketClient implements WebSocketClient {
|
|||
}
|
||||
|
||||
private Mono<Void> executeInternal(URI url, HttpHeaders requestHeaders, WebSocketHandler handler) {
|
||||
MonoProcessor<Void> completionMono = MonoProcessor.create();
|
||||
MonoProcessor<Void> completionMono = MonoProcessor.fromSink(Sinks.one());
|
||||
return Mono.fromCallable(
|
||||
() -> {
|
||||
if (logger.isDebugEnabled()) {
|
||||
|
|
|
@ -34,6 +34,7 @@ import org.xnio.IoFuture;
|
|||
import org.xnio.XnioWorker;
|
||||
import reactor.core.publisher.Mono;
|
||||
import reactor.core.publisher.MonoProcessor;
|
||||
import reactor.core.publisher.Sinks;
|
||||
|
||||
import org.springframework.core.io.buffer.DataBufferFactory;
|
||||
import org.springframework.core.io.buffer.DefaultDataBufferFactory;
|
||||
|
@ -72,7 +73,8 @@ public class UndertowWebSocketClient implements WebSocketClient {
|
|||
* @param worker the Xnio worker
|
||||
*/
|
||||
public UndertowWebSocketClient(XnioWorker worker) {
|
||||
this(worker, builder -> {});
|
||||
this(worker, builder -> {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -153,7 +155,7 @@ public class UndertowWebSocketClient implements WebSocketClient {
|
|||
}
|
||||
|
||||
private Mono<Void> executeInternal(URI url, HttpHeaders headers, WebSocketHandler handler) {
|
||||
MonoProcessor<Void> completion = MonoProcessor.create();
|
||||
MonoProcessor<Void> completion = MonoProcessor.fromSink(Sinks.one());
|
||||
return Mono.fromCallable(
|
||||
() -> {
|
||||
if (logger.isDebugEnabled()) {
|
||||
|
|
Loading…
Reference in New Issue