Upgrade dependencies to the latest snapshots

* Fix HTTP & WebFlux for a new CORS logic when `*` pattern
is used together with `allowCredentials`
* Fix RSocket module for deprecated API in SF
* The deprecated RMI API is left for the upcoming changes
This commit is contained in:
Artem Bilan
2020-07-17 11:26:40 -04:00
parent 8b16aede89
commit ebec500abd
7 changed files with 73 additions and 30 deletions

View File

@@ -26,11 +26,12 @@ import org.springframework.messaging.rsocket.RSocketRequester;
import org.springframework.util.Assert;
import org.springframework.util.MimeType;
import io.rsocket.core.RSocketConnector;
import io.rsocket.transport.ClientTransport;
import io.rsocket.transport.netty.client.TcpClientTransport;
import io.rsocket.transport.netty.client.WebsocketClientTransport;
import reactor.core.Disposable;
import reactor.core.publisher.Mono;
import reactor.core.publisher.Sinks;
/**
* A client {@link AbstractRSocketConnector} extension to the RSocket connection.
@@ -82,7 +83,7 @@ public class ClientRSocketConnector extends AbstractRSocketConnector {
/**
* Instantiate a connector based on the provided {@link ClientTransport}.
* @param clientTransport the {@link ClientTransport} to use.
* @see RSocketRequester.Builder#connect(ClientTransport)
* @see RSocketRequester.Builder#transport(ClientTransport)
*/
public ClientRSocketConnector(ClientTransport clientTransport) {
super(new IntegrationRSocketMessageHandler());
@@ -175,18 +176,27 @@ public class ClientRSocketConnector extends AbstractRSocketConnector {
public void afterPropertiesSet() {
super.afterPropertiesSet();
this.rsocketRequesterMono =
Sinks.StandaloneMonoSink<RSocketConnector> rsocketConnector = Sinks.promise();
RSocketRequester rsocketRequester =
RSocketRequester.builder()
.dataMimeType(getDataMimeType())
.metadataMimeType(getMetadataMimeType())
.rsocketStrategies(getRSocketStrategies())
.setupData(this.setupData)
.setupRoute(this.setupRoute, this.setupRouteVars)
.rsocketConnector(this.connectorConfigurer)
.rsocketConnector((connector) ->
connector.acceptor(this.rSocketMessageHandler.responder()))
.apply((builder) -> this.setupMetadata.forEach(builder::setupMetadata))
.connect(this.clientTransport)
.rsocketConnector(this.connectorConfigurer)
.rsocketConnector((connector) -> {
connector.acceptor(this.rSocketMessageHandler.responder());
rsocketConnector.success(connector);
})
.transport(this.clientTransport);
this.rsocketRequesterMono =
rsocketConnector.asMono()
.flatMap(rSocketConnector -> rSocketConnector.connect(this.clientTransport))
.thenReturn(rsocketRequester)
.cache();
}
@@ -205,8 +215,7 @@ public class ClientRSocketConnector extends AbstractRSocketConnector {
@Override
public void destroy() {
this.rsocketRequesterMono
.map(RSocketRequester::rsocket)
.doOnNext(Disposable::dispose)
.doOnNext(RSocketRequester::dispose)
.subscribe();
}

View File

@@ -22,7 +22,7 @@
<xsd:annotation>
<xsd:documentation>
Configures a Messaging Gateway Endpoint for the
'org.springframework.integration.rsocket.inbound.RSocketInboundGateway to receive RSocket
'org.springframework.integration.rsocket.inbound.RSocketInboundGateway' to receive RSocket
requests and produce RSocket responses.
</xsd:documentation>
</xsd:annotation>