Skip to content

vonzhou/spring-kafka

 
 

Repository files navigation

Spring Kafka

在使用spring-kafka的时候,需要注解EnableKafka,这个注解的目的就是引入了相关的启动配置。

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Import(KafkaBootstrapConfiguration.class) // 看过来
public @interface EnableKafka {
}

这个启动配置类引入了2个bean,KafkaListenerAnnotationBeanPostProcessor这个后置处理器用于发现处理有KafkaListener注解的方法,KafkaListenerEndpointRegistry用于注册Listener容器。

@Configuration
public class KafkaBootstrapConfiguration {

	@SuppressWarnings("rawtypes")
	@Bean(name = KafkaListenerConfigUtils.KAFKA_LISTENER_ANNOTATION_PROCESSOR_BEAN_NAME)
	@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
	public KafkaListenerAnnotationBeanPostProcessor kafkaListenerAnnotationProcessor() {
		return new KafkaListenerAnnotationBeanPostProcessor();
	}

	@Bean(name = KafkaListenerConfigUtils.KAFKA_LISTENER_ENDPOINT_REGISTRY_BEAN_NAME)
	public KafkaListenerEndpointRegistry defaultKafkaListenerEndpointRegistry() {
		return new KafkaListenerEndpointRegistry();
	}

}

需要再说,Spring的可扩展性值得学习。

Link

Kafka 0.9.0

http://kafka.apache.org/090/documentation.html

About

Provides Familiar Spring Abstractions for Apache Kafka

Resources

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 96.7%
  • CSS 2.8%
  • Other 0.5%