From dcb3a9ffbcc520fa972e745a0027ab3b24af7de1 Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Wed, 5 Aug 2020 10:15:29 +0200 Subject: [PATCH] Add support for default function lookup to RSocket --- .../cloud/function/rsocket/RSocketAutoConfiguration.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/spring-cloud-function-rsocket/src/main/java/org/springframework/cloud/function/rsocket/RSocketAutoConfiguration.java b/spring-cloud-function-rsocket/src/main/java/org/springframework/cloud/function/rsocket/RSocketAutoConfiguration.java index 4c43e3280..74f3aef9d 100644 --- a/spring-cloud-function-rsocket/src/main/java/org/springframework/cloud/function/rsocket/RSocketAutoConfiguration.java +++ b/spring-cloud-function-rsocket/src/main/java/org/springframework/cloud/function/rsocket/RSocketAutoConfiguration.java @@ -82,6 +82,13 @@ public class RSocketAutoConfiguration { @Override public void afterPropertiesSet() throws Exception { String definition = this.functionProperties.getDefinition(); + if (!StringUtils.hasText(definition)) { + FunctionInvocationWrapper f = this.functionCatalog.lookup(""); + if (f != null) { + definition = f.getFunctionDefinition(); + } + } + Assert.isTrue(StringUtils.hasText(definition), "Failed to determine target function for RSocket."); this.registerRsocketForwardingFunctionIfNecessary(definition); //TODO externalize content-type FunctionInvocationWrapper function = functionCatalog.lookup(definition, "application/json");