Provide MessageConverterConfigurer conditionally

Check for conditions when MessageConverterConfigurer must be instantiated
even in the presence of `spring.cloud.stream.function.definition`.
This commit is contained in:
Soby Chacko
2019-10-22 13:22:56 -04:00
parent 713c252576
commit 72e96a3b2e

View File

@@ -212,11 +212,21 @@ public class BinderFactoryAutoConfiguration {
BindingServiceProperties bindingServiceProperties,
@Qualifier(IntegrationContextUtils.ARGUMENT_RESOLVER_MESSAGE_CONVERTER_BEAN_NAME) CompositeMessageConverter compositeMessageConverter,
Environment environment) {
MessageConverterConfigurer messageConverterConfigurer = null;
if (StringUtils.hasText(environment.getProperty("spring.cloud.stream.function.definition"))) {
return null;
try {
ClassUtils.forName("org.apache.kafka.streams.kstream.KStream", ClassUtils.getDefaultClassLoader());
messageConverterConfigurer = new MessageConverterConfigurer(bindingServiceProperties, compositeMessageConverter);
}
catch (Exception e) {
// ignore
}
}
return new MessageConverterConfigurer(bindingServiceProperties,
compositeMessageConverter);
else {
messageConverterConfigurer = new MessageConverterConfigurer(bindingServiceProperties, compositeMessageConverter);
}
return messageConverterConfigurer;
}
@Bean