GH-802 Add exclusion filter to component scanning to ignore Spring annotated classes

Resolves #802
This commit is contained in:
Oleg Zhurakousky
2022-02-07 15:04:45 +01:00
parent aa38cb0e56
commit 0dc7d3308f

View File

@@ -64,6 +64,7 @@ import org.springframework.messaging.converter.ByteArrayMessageConverter;
import org.springframework.messaging.converter.CompositeMessageConverter;
import org.springframework.messaging.converter.MessageConverter;
import org.springframework.messaging.converter.StringMessageConverter;
import org.springframework.stereotype.Component;
import org.springframework.util.ClassUtils;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
@@ -169,12 +170,11 @@ public class ContextFunctionCatalogAutoConfiguration {
return false;
}
@ComponentScan(basePackages = "${spring.cloud.function.scan.packages:functions}",
includeFilters = @Filter(type = FilterType.ASSIGNABLE_TYPE, classes = { Supplier.class, Function.class, Consumer.class }),
excludeFilters = @Filter(type = FilterType.ANNOTATION, classes = { Configuration.class, Component.class}))
@Configuration(proxyBeanMethods = false)
@ComponentScan(basePackages = "${spring.cloud.function.scan.packages:functions}", //
includeFilters = @Filter(type = FilterType.ASSIGNABLE_TYPE,
classes = {Supplier.class, Function.class, Consumer.class}))
@ConditionalOnProperty(prefix = "spring.cloud.function.scan", name = "enabled", havingValue = "true",
matchIfMissing = true)
@ConditionalOnProperty(prefix = "spring.cloud.function.scan", name = "enabled", havingValue = "true", matchIfMissing = true)
protected static class PlainFunctionScanConfiguration {
}