Renamed new registry implementation to BeanFactoryAwareFunctionRegistry

- added initila javadoc
- polished few tests
This commit is contained in:
Oleg Zhurakousky
2019-07-17 14:48:05 +02:00
parent 2c8f3644da
commit fbeee8bc37
5 changed files with 25 additions and 47 deletions

View File

@@ -35,11 +35,13 @@ import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.SmartInitializingSingleton;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.cloud.function.context.AbstractSpringFunctionAdapterInitializer;
import org.springframework.cloud.function.context.FunctionCatalog;
import org.springframework.cloud.function.context.FunctionRegistration;
import org.springframework.cloud.function.context.FunctionRegistry;
import org.springframework.cloud.function.context.FunctionType;
@@ -58,11 +60,14 @@ import org.springframework.util.MimeType;
import org.springframework.util.StringUtils;
/**
* Implementation of {@link FunctionRegistry} and {@link FunctionCatalog} which is aware of the
* underlying {@link BeanFactory} to access available functions. Functions that are registered via
* {@link #register(FunctionRegistration)} operation are stored/cached locally.
*
* @author Oleg Zhurakousky
*
* @since 3.0
*/
public class LazyFunctionRegistry
public class BeanFactoryAwareFunctionRegistry
implements FunctionRegistry, FunctionInspector, ApplicationContextAware, SmartInitializingSingleton {
private static Log logger = LogFactory.getLog(AbstractSpringFunctionAdapterInitializer.class);
@@ -77,7 +82,7 @@ public class LazyFunctionRegistry
private final CompositeMessageConverter messageConverter;
public LazyFunctionRegistry(ConversionService conversionService,
public BeanFactoryAwareFunctionRegistry(ConversionService conversionService,
@Nullable CompositeMessageConverter messageConverter) {
this.conversionService = conversionService;
this.messageConverter = messageConverter;

View File

@@ -53,9 +53,9 @@ import org.springframework.cloud.function.context.FunctionRegistration;
import org.springframework.cloud.function.context.FunctionRegistry;
import org.springframework.cloud.function.context.FunctionType;
import org.springframework.cloud.function.context.catalog.AbstractComposableFunctionRegistry;
import org.springframework.cloud.function.context.catalog.BeanFactoryAwareFunctionRegistry;
import org.springframework.cloud.function.context.catalog.FunctionInspector;
import org.springframework.cloud.function.context.catalog.FunctionUnregistrationEvent;
import org.springframework.cloud.function.context.catalog.LazyFunctionRegistry;
import org.springframework.cloud.function.json.GsonMapper;
import org.springframework.cloud.function.json.JacksonMapper;
import org.springframework.context.ApplicationEventPublisher;
@@ -107,7 +107,7 @@ public class ContextFunctionCatalogAutoConfiguration {
messageConverters.add(new StringMessageConverter());
messageConverter = new CompositeMessageConverter(messageConverters);
}
return new LazyFunctionRegistry(conversionService, messageConverter);
return new BeanFactoryAwareFunctionRegistry(conversionService, messageConverter);
}
@Bean(RoutingFunction.FUNCTION_NAME)