From bf001bc7548be6f69c79c9166fd5ca1eea85578b Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Wed, 23 Sep 2020 17:12:46 +0200 Subject: [PATCH] Revert "Temporarily disable rsocket-routing-broker integration" This reverts commit 63f655fb45afc75f557d7ca290a94b6e31090e5a. --- spring-cloud-function-rsocket/pom.xml | 26 ++++++++--------- .../RSocketRoutingAutoConfiguration.java | 21 ++++++++++---- .../function/rsocket/RoutingBrokerTests.java | 29 +++++++++---------- 3 files changed, 42 insertions(+), 34 deletions(-) diff --git a/spring-cloud-function-rsocket/pom.xml b/spring-cloud-function-rsocket/pom.xml index 7526626e9..c8906b6ed 100644 --- a/spring-cloud-function-rsocket/pom.xml +++ b/spring-cloud-function-rsocket/pom.xml @@ -16,7 +16,7 @@ - + 0.0.2-SNAPSHOT @@ -42,12 +42,12 @@ org.springframework.cloud spring-cloud-function-context - - - - - - + + io.rsocket.routing + rsocket-routing-client-spring + ${rsocket-routing.version} + true + org.springframework.boot spring-boot-configuration-processor @@ -63,12 +63,12 @@ reactor-test test - - - - - - + + io.rsocket.routing + rsocket-routing-broker-spring + ${rsocket-routing.version} + test + diff --git a/spring-cloud-function-rsocket/src/main/java/org/springframework/cloud/function/rsocket/RSocketRoutingAutoConfiguration.java b/spring-cloud-function-rsocket/src/main/java/org/springframework/cloud/function/rsocket/RSocketRoutingAutoConfiguration.java index 71228387c..d5e5feaed 100644 --- a/spring-cloud-function-rsocket/src/main/java/org/springframework/cloud/function/rsocket/RSocketRoutingAutoConfiguration.java +++ b/spring-cloud-function-rsocket/src/main/java/org/springframework/cloud/function/rsocket/RSocketRoutingAutoConfiguration.java @@ -16,6 +16,15 @@ package org.springframework.cloud.function.rsocket; +import io.rsocket.routing.client.spring.RoutingClientAutoConfiguration; + +import org.springframework.boot.autoconfigure.AutoConfigureAfter; +import org.springframework.boot.autoconfigure.AutoConfigureBefore; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.cloud.function.context.FunctionProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.messaging.rsocket.RSocketConnectorConfigurer; /** @@ -25,14 +34,14 @@ import org.springframework.messaging.rsocket.RSocketConnectorConfigurer; * @author Spencer Gibb * @since 3.1 */ -//@Configuration(proxyBeanMethods = false) -//@ConditionalOnClass(RoutingClientAutoConfiguration.class) -//@ConditionalOnProperty(name = FunctionProperties.PREFIX + ".rsocket.enabled", matchIfMissing = true) -//@AutoConfigureBefore(RoutingClientAutoConfiguration.class) -//@AutoConfigureAfter(RSocketAutoConfiguration.class) +@Configuration(proxyBeanMethods = false) +@ConditionalOnClass(RoutingClientAutoConfiguration.class) +@ConditionalOnProperty(name = FunctionProperties.PREFIX + ".rsocket.enabled", matchIfMissing = true) +@AutoConfigureBefore(RoutingClientAutoConfiguration.class) +@AutoConfigureAfter(RSocketAutoConfiguration.class) class RSocketRoutingAutoConfiguration { -// @Bean + @Bean public RSocketConnectorConfigurer functionRSocketConnectorConfigurer( FunctionRSocketMessageHandler handler) { return connector -> connector.acceptor(handler.responder()); diff --git a/spring-cloud-function-rsocket/src/test/java/org/springframework/cloud/function/rsocket/RoutingBrokerTests.java b/spring-cloud-function-rsocket/src/test/java/org/springframework/cloud/function/rsocket/RoutingBrokerTests.java index 27ccc61ac..c5886df03 100644 --- a/spring-cloud-function-rsocket/src/test/java/org/springframework/cloud/function/rsocket/RoutingBrokerTests.java +++ b/spring-cloud-function-rsocket/src/test/java/org/springframework/cloud/function/rsocket/RoutingBrokerTests.java @@ -18,8 +18,8 @@ package org.springframework.cloud.function.rsocket; import java.util.function.Function; +import io.rsocket.routing.client.spring.RoutingMetadata; import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import reactor.core.publisher.Mono; import reactor.test.StepVerifier; @@ -39,7 +39,6 @@ import org.springframework.util.SocketUtils; * @author Oleg Zhurakousky * @since 3.1 */ -@Disabled public class RoutingBrokerTests { ConfigurableApplicationContext functionContext; @@ -78,19 +77,19 @@ public class RoutingBrokerTests { @Test public void testRoutingWithMessage() throws Exception { -// this.setup(false); -// RSocketRequester requester = clientContext.getBean(RSocketRequester.class); -// RoutingMetadata metadata = clientContext.getBean(RoutingMetadata.class); -// Mono result = requester.route("uppercase") // used to find function -// .metadata(metadata.address("samplefn")) -// .data("\"hello\"") -// .retrieveMono(String.class); -// -// StepVerifier -// .create(result) -// .expectNext("HELLO") -// .expectComplete() -// .verify(); + this.setup(false); + RSocketRequester requester = clientContext.getBean(RSocketRequester.class); + RoutingMetadata metadata = clientContext.getBean(RoutingMetadata.class); + Mono result = requester.route("uppercase") // used to find function + .metadata(metadata.address("samplefn")) + .data("\"hello\"") + .retrieveMono(String.class); + + StepVerifier + .create(result) + .expectNext("HELLO") + .expectComplete() + .verify(); } private void setup(boolean routingWithProperty) {