将 Apache Kafka 的 Spring Java 配置替换为 XML

Replace Spring Java config with XML for Apache Kafka

Ho可以替换成这样的Java配置

@Configuration
@EnableKafka
public class KafkaConfig {

}

具有完整的 XML 配置?

特别是方法(或类)如何用

注释
@KafkaListener
public void poll(String msg){}

作为侦听器注入 Spring Kafka 上下文?

@EnableKafka 将 2 个 bean 添加到应用程序上下文:

    @Override
    public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) {
        if (!registry.containsBeanDefinition(
                KafkaListenerConfigUtils.KAFKA_LISTENER_ANNOTATION_PROCESSOR_BEAN_NAME)) {

            registry.registerBeanDefinition(KafkaListenerConfigUtils.KAFKA_LISTENER_ANNOTATION_PROCESSOR_BEAN_NAME,
                    new RootBeanDefinition(KafkaListenerAnnotationBeanPostProcessor.class));
        }

        if (!registry.containsBeanDefinition(KafkaListenerConfigUtils.KAFKA_LISTENER_ENDPOINT_REGISTRY_BEAN_NAME)) {
            registry.registerBeanDefinition(KafkaListenerConfigUtils.KAFKA_LISTENER_ENDPOINT_REGISTRY_BEAN_NAME,
                    new RootBeanDefinition(KafkaListenerEndpointRegistry.class));
        }
    }

所以只需将这些添加为 <bean/> s 和这些名称即可。

"org.springframework.kafka.config.internalKafkaListenerAnnotationProcessor"

"org.springframework.kafka.config.internalKafkaListenerEndpointRegistry"