Use MonoProcessor instead of FluxIdentityProcessor
We just need to signal completion when close() is called. MonoProcessor should suffice and we can avoid a hard dependency on Reactor 3.4. See gh-25085
This commit is contained in:
parent
96bbec7ab2
commit
7cf1ccc415
|
@ -32,10 +32,8 @@ import io.netty.util.concurrent.ImmediateEventExecutor;
|
|||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.reactivestreams.Publisher;
|
||||
import reactor.core.publisher.FluxIdentityProcessor;
|
||||
import reactor.core.publisher.Mono;
|
||||
import reactor.core.publisher.MonoProcessor;
|
||||
import reactor.core.publisher.Processors;
|
||||
import reactor.core.scheduler.Scheduler;
|
||||
import reactor.core.scheduler.Schedulers;
|
||||
import reactor.netty.Connection;
|
||||
|
@ -317,7 +315,7 @@ public class ReactorNettyTcpClient<P> implements TcpOperations<P> {
|
|||
logger.debug("Connected to " + conn.address());
|
||||
}
|
||||
});
|
||||
FluxIdentityProcessor<Void> completion = Processors.more().multicastNoBackpressure();
|
||||
MonoProcessor<Void> completion = MonoProcessor.create();
|
||||
TcpConnection<P> connection = new ReactorNettyTcpConnection<>(inbound, outbound, codec, completion);
|
||||
scheduler.schedule(() -> this.connectionHandler.afterConnected(connection));
|
||||
|
||||
|
|
|
@ -17,8 +17,8 @@
|
|||
package org.springframework.messaging.tcp.reactor;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import reactor.core.publisher.FluxIdentityProcessor;
|
||||
import reactor.core.publisher.Mono;
|
||||
import reactor.core.publisher.MonoProcessor;
|
||||
import reactor.netty.NettyInbound;
|
||||
import reactor.netty.NettyOutbound;
|
||||
|
||||
|
@ -42,11 +42,11 @@ public class ReactorNettyTcpConnection<P> implements TcpConnection<P> {
|
|||
|
||||
private final ReactorNettyCodec<P> codec;
|
||||
|
||||
private final FluxIdentityProcessor<Void> closeProcessor;
|
||||
private final MonoProcessor<Void> closeProcessor;
|
||||
|
||||
|
||||
public ReactorNettyTcpConnection(NettyInbound inbound, NettyOutbound outbound,
|
||||
ReactorNettyCodec<P> codec, FluxIdentityProcessor<Void> closeProcessor) {
|
||||
ReactorNettyCodec<P> codec, MonoProcessor<Void> closeProcessor) {
|
||||
|
||||
this.inbound = inbound;
|
||||
this.outbound = outbound;
|
||||
|
|
Loading…
Reference in New Issue