[英]SAP Commerce (Hybris) and Apache Kafka integration consumer not getting created
我正在尝试在 SAP Commerce 应用程序上创建 Apache Kafka 消费者/侦听器。 我遵循了链接中给出的基本步骤:
但无法创建监听器。 服务器启动时出现以下错误。 请指教。
ERROR [localhost-startStop-7] [HybrisContextFactory] Error initializing global application context!
java.lang.IllegalArgumentException: Unable to determine source type <S> and target type <T> for your Converter [de.hybris.platform.converters.impl.AbstractPopulatingConverter]; does the class parameterize those types?
at org.springframework.core.convert.support.GenericConversionService.addConverter(GenericConversionService.java:93) ~[spring-core-5.3.18.jar:5.3.18]
at org.springframework.kafka.annotation.KafkaListenerAnnotationBeanPostProcessor.addFormatters(KafkaListenerAnnotationBeanPostProcessor.java:1057) ~[spring-kafka-2.9.0.jar:2.9.0]
at org.springframework.kafka.annotation.KafkaListenerAnnotationBeanPostProcessor.afterSingletonsInstantiated(KafkaListenerAnnotationBeanPostProcessor.java:318) ~[spring-kafka-2.9.0.jar:2.9.0]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:972) ~[spring-beans-5.3.18.jar:5.3.18]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.18.jar:5.3.18]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.18.jar:5.3.18]
at de.hybris.platform.core.HybrisContextFactory.refreshContext(HybrisContextFactory.java:88) ~[coreserver.jar:?]
at de.hybris.platform.core.HybrisContextFactory$ApplicationContextFactory.build(HybrisContextFactory.java:256) ~[coreserver.jar:?]
at de.hybris.platform.core.HybrisContextHolder.getApplicationInstance(HybrisContextHolder.java:78) ~[coreserver.jar:?]
at de.hybris.platform.core.AbstractTenant.createCoreApplicationContext(AbstractTenant.java:763) ~[coreserver.jar:?]
at de.hybris.platform.core.AbstractTenant.doStartupSafe(AbstractTenant.java:804) ~[coreserver.jar:?]
at de.hybris.platform.core.AbstractTenant.doStartUp(AbstractTenant.java:735) ~[coreserver.jar:?]
出现错误是因为有 OOTB hybris 转换器
de.hybris.platform.converters.impl.AbstractPopulatingConverter
这导致了 IllegalArgumentException。 但不需要此 OOTB 转换器。 因此,为避免此错误,您可以按照以下文档中给出的步骤进行操作。
例如,使用您的 class 实现 KafkaListenerConfigurer,
@Configuration @EnableKafka public class AppConfig 实现 KafkaListenerConfigurer {}
这将让您实现该方法:
公共无效配置KafkaListeners(KafkaListenerEndpointRegistrar注册商){}
设置自定义 myMessageHandlerMethodFactory
registrar.setMessageHandlerMethodFactory(myMessageHandlerMethodFactory);
在您的配置 class 中创建并添加以下内容
@Bean public MessageHandlerMethodFactory myMessageHandlerMethodFactory() { DefaultMessageHandlerMethodFactory factory = new DefaultMessageHandlerMethodFactory(); // 工厂配置返回工厂; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.