Use RSocketRequester.rsocketClient() to connect

Related to https://github.com/spring-projects/spring-framework/issues/25332

* Delegate subscription (and therefore auto-connection) into underlying `RSocketClient`
in the `ClientRSocketConnector`
This commit is contained in:
Artem Bilan
2020-07-22 08:58:11 -04:00
parent 40b0031e0f
commit ff44382d94
2 changed files with 24 additions and 38 deletions

View File

@@ -59,10 +59,8 @@ import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
import io.rsocket.RSocket;
import io.rsocket.core.RSocketConnector;
import io.rsocket.core.RSocketServer;
import io.rsocket.frame.decoder.PayloadDecoder;
import io.rsocket.transport.netty.client.TcpClientTransport;
import io.rsocket.transport.netty.server.CloseableChannel;
import io.rsocket.transport.netty.server.TcpServerTransport;
import reactor.core.Disposable;
@@ -499,21 +497,15 @@ public class RSocketOutboundGatewayIntegrationTests {
@Bean(destroyMethod = "dispose")
@Nullable
public RSocket rsocketForServerRequests() {
Sinks.StandaloneMonoSink<RSocketConnector> rsocketConnector = Sinks.promise();
RSocketRequester.builder()
return RSocketRequester.builder()
.setupRoute("clientConnect")
.rsocketConnector(connector -> {
connector.acceptor(
RSocketMessageHandler.responder(RSocketStrategies.create(), controller()));
rsocketConnector.success(connector);
})
.tcp("localhost", server.address().getPort());
return rsocketConnector.asMono()
.flatMap(rSocketConnector ->
rSocketConnector.connect(
TcpClientTransport.create("localhost", server.address().getPort())))
.rsocketConnector(connector ->
connector.acceptor(
RSocketMessageHandler.responder(RSocketStrategies.create(), controller())))
.tcp("localhost", server.address().getPort())
.rsocketClient()
.source()
.block();
}