Polishing previous PR

Resolves #2748
This commit is contained in:
Oleg Zhurakousky
2023-06-07 14:06:27 +02:00
parent 8d99e80e87
commit 2b95f26d64
2 changed files with 5 additions and 2 deletions

View File

@@ -531,7 +531,7 @@ public class StreamBridgeTests {
void testSendingMessageToOutputOfExistingSupplier() throws Exception {
try (ConfigurableApplicationContext context = new SpringApplicationBuilder(TestChannelBinderConfiguration
.getCompleteConfiguration(TestConfiguration.class))
.web(WebApplicationType.NONE).run("--spring.cloud.stream.source=supplier;foo",
.web(WebApplicationType.NONE).run("--spring.cloud.stream.output-bindings=supplier;foo",
"--spring.jmx.enabled=false")) {
StreamBridge bridge = context.getBean(StreamBridge.class);

View File

@@ -195,6 +195,9 @@ public class FunctionConfiguration {
// see https://github.com/spring-cloud/spring-cloud-stream/issues/2027
String functionDefinition = proxyFactory.getFunctionDefinition();
if (!StringUtils.hasText(functionDefinition)) {
continue;
}
String[] functionNames = StringUtils.delimitedListToStringArray(functionDefinition.replaceAll(",", "|").trim(), "|");
Function supplier = null;
@@ -886,6 +889,7 @@ public class FunctionConfiguration {
String[] outputBindings = StringUtils.hasText(bindingProperties.getOutputBindings()) ? bindingProperties.getOutputBindings().split(";") : (
StringUtils.hasText(bindingProperties.getOutputBindings()) ? bindingProperties.getOutputBindings().split(";") : new String[0]
);
for (String inputBindingName : inputBindings) {
FunctionInvocationWrapper sourceFunc = functionCatalog.lookup(inputBindingName);
if (sourceFunc != null && !sourceFunc.getFunctionDefinition().equals(inputBindingName)) {
@@ -917,7 +921,6 @@ public class FunctionConfiguration {
BindableFunctionProxyFactory.class, () -> proxyFactory);
}
}
}
@Override