Workaround for onReadIdle issue in Reactor TcpClient
https://github.com/reactor/reactor-netty/issues/22
This commit is contained in:
parent
2a3e01399a
commit
fdf88c9795
|
@ -17,10 +17,12 @@
|
|||
package org.springframework.messaging.tcp.reactor;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.channel.ChannelPipeline;
|
||||
import reactor.core.publisher.DirectProcessor;
|
||||
import reactor.core.publisher.Mono;
|
||||
import reactor.ipc.netty.NettyInbound;
|
||||
import reactor.ipc.netty.NettyOutbound;
|
||||
import reactor.ipc.netty.NettyPipeline;
|
||||
|
||||
import org.springframework.messaging.Message;
|
||||
import org.springframework.messaging.tcp.TcpConnection;
|
||||
|
@ -64,6 +66,14 @@ public class ReactorNettyTcpConnection<P> implements TcpConnection<P> {
|
|||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public void onReadInactivity(Runnable runnable, long inactivityDuration) {
|
||||
|
||||
// TODO: workaround for https://github.com/reactor/reactor-netty/issues/22
|
||||
ChannelPipeline pipeline = this.inbound.context().channel().pipeline();
|
||||
String name = NettyPipeline.OnChannelReadIdle;
|
||||
if (pipeline.context(name) != null) {
|
||||
pipeline.remove(name);
|
||||
}
|
||||
|
||||
this.inbound.onReadIdle(inactivityDuration, runnable);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue