繁体   English   中英

SAP Commerce (Hybris) 和 Apache Kafka 集成消费者未创建

[英]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 转换器。 因此,为避免此错误,您可以按照以下文档中给出的步骤进行操作。

文档链接

  1. 例如,使用您的 class 实现 KafkaListenerConfigurer,

    @Configuration @EnableKafka public class AppConfig 实现 KafkaListenerConfigurer {}

  2. 这将让您实现该方法:

    公共无效配置KafkaListeners(KafkaListenerEndpointRegistrar注册商){}

  3. 设置自定义 myMessageHandlerMethodFactory

    registrar.setMessageHandlerMethodFactory(myMessageHandlerMethodFactory);

  4. 在您的配置 class 中创建并添加以下内容

    @Bean public MessageHandlerMethodFactory myMessageHandlerMethodFactory() { DefaultMessageHandlerMethodFactory factory = new DefaultMessageHandlerMethodFactory(); // 工厂配置返回工厂; }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM