Skip to content

Commit 7cf1ccc

Browse files
committed
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
1 parent 96bbec7 commit 7cf1ccc

File tree

2 files changed

+4
-6
lines changed

2 files changed

+4
-6
lines changed

spring-messaging/src/main/java/org/springframework/messaging/tcp/reactor/ReactorNettyTcpClient.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,8 @@
3232
import org.apache.commons.logging.Log;
3333
import org.apache.commons.logging.LogFactory;
3434
import org.reactivestreams.Publisher;
35-
import reactor.core.publisher.FluxIdentityProcessor;
3635
import reactor.core.publisher.Mono;
3736
import reactor.core.publisher.MonoProcessor;
38-
import reactor.core.publisher.Processors;
3937
import reactor.core.scheduler.Scheduler;
4038
import reactor.core.scheduler.Schedulers;
4139
import reactor.netty.Connection;
@@ -317,7 +315,7 @@ public Publisher<Void> apply(NettyInbound inbound, NettyOutbound outbound) {
317315
logger.debug("Connected to " + conn.address());
318316
}
319317
});
320-
FluxIdentityProcessor<Void> completion = Processors.more().multicastNoBackpressure();
318+
MonoProcessor<Void> completion = MonoProcessor.create();
321319
TcpConnection<P> connection = new ReactorNettyTcpConnection<>(inbound, outbound, codec, completion);
322320
scheduler.schedule(() -> this.connectionHandler.afterConnected(connection));
323321

spring-messaging/src/main/java/org/springframework/messaging/tcp/reactor/ReactorNettyTcpConnection.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
package org.springframework.messaging.tcp.reactor;
1818

1919
import io.netty.buffer.ByteBuf;
20-
import reactor.core.publisher.FluxIdentityProcessor;
2120
import reactor.core.publisher.Mono;
21+
import reactor.core.publisher.MonoProcessor;
2222
import reactor.netty.NettyInbound;
2323
import reactor.netty.NettyOutbound;
2424

@@ -42,11 +42,11 @@ public class ReactorNettyTcpConnection<P> implements TcpConnection<P> {
4242

4343
private final ReactorNettyCodec<P> codec;
4444

45-
private final FluxIdentityProcessor<Void> closeProcessor;
45+
private final MonoProcessor<Void> closeProcessor;
4646

4747

4848
public ReactorNettyTcpConnection(NettyInbound inbound, NettyOutbound outbound,
49-
ReactorNettyCodec<P> codec, FluxIdentityProcessor<Void> closeProcessor) {
49+
ReactorNettyCodec<P> codec, MonoProcessor<Void> closeProcessor) {
5050

5151
this.inbound = inbound;
5252
this.outbound = outbound;

0 commit comments

Comments
 (0)