diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/FunctionConfiguration.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/FunctionConfiguration.java index 88e553675..377f2bf08 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/FunctionConfiguration.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/FunctionConfiguration.java @@ -44,7 +44,7 @@ import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.support.BeanDefinitionRegistry; import org.springframework.beans.factory.support.RootBeanDefinition; import org.springframework.boot.autoconfigure.AutoConfigureBefore; -import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.cloud.function.context.FunctionCatalog; import org.springframework.cloud.function.context.FunctionProperties; @@ -52,6 +52,7 @@ import org.springframework.cloud.function.context.PollableBean; import org.springframework.cloud.function.context.catalog.BeanFactoryAwareFunctionRegistry.FunctionInvocationWrapper; import org.springframework.cloud.function.context.catalog.FunctionInspector; import org.springframework.cloud.function.context.catalog.FunctionTypeUtils; +import org.springframework.cloud.function.context.config.ContextFunctionCatalogAutoConfiguration; import org.springframework.cloud.function.context.config.FunctionContextUtils; import org.springframework.cloud.function.context.config.RoutingFunction; import org.springframework.cloud.stream.annotation.BindingProvider; @@ -106,7 +107,7 @@ import org.springframework.util.StringUtils; @EnableConfigurationProperties(StreamFunctionProperties.class) @AutoConfigureBefore(BindingServiceConfiguration.class) @Import({ BindingBeansRegistrar.class, BinderFactoryAutoConfiguration.class }) -@ConditionalOnBean(FunctionCatalog.class) +@ConditionalOnClass(ContextFunctionCatalogAutoConfiguration.class) public class FunctionConfiguration { @Bean diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/SourceToFunctionsSupportTests.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/SourceToFunctionsSupportTests.java index 7c5406eb5..c319d6d4a 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/SourceToFunctionsSupportTests.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/function/SourceToFunctionsSupportTests.java @@ -29,7 +29,7 @@ import reactor.core.publisher.Flux; import org.springframework.boot.WebApplicationType; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.cloud.function.context.Pollable; +import org.springframework.cloud.function.context.PollableBean; import org.springframework.cloud.stream.annotation.EnableBinding; import org.springframework.cloud.stream.binder.test.OutputDestination; import org.springframework.cloud.stream.binder.test.TestChannelBinderConfiguration; @@ -265,7 +265,7 @@ public class SourceToFunctionsSupportTests { public static class MessageFluxSupplierConfiguration { AtomicInteger counter = new AtomicInteger(); - @Pollable(splittable = true) + @PollableBean(splittable = true) public Supplier>> messageStreamSupplier() { return () -> { Message m1 = new GenericMessage<>(String.valueOf(counter.incrementAndGet())); @@ -294,7 +294,7 @@ public class SourceToFunctionsSupportTests { public static class SimpleFluxSupplierConfiguration { AtomicInteger counter = new AtomicInteger(); - @Pollable(splittable = true) + @PollableBean(splittable = true) public Supplier> simpleStreamSupplier() { return () -> { return Flux.just(String.valueOf(counter.incrementAndGet()),