@KafkaListener(topics = "my_topic", groupId = "my_group")
public void consumeMessage(String message) {
    // 메시지 처리 로직
    System.out.println("Received Message: " + message);
}

<aside> 💡 @KafkaListener 어노테이션 동작 원리

</aside>

  1. 어노테이션 처리:
// KafkaListenerAnnotationBeanPostProcessor.java
public Object postProcessAfterInitialization(Object bean, String beanName) {
    // @KafkaListener 어노테이션이 붙은 메서드를 찾고 처리
}
  1. 리스너 등록:
// KafkaMessageListenerContainer.java
public void setupMessageListener(Object messageListener) {
    // 메시지 리스너 설정
}
  1. 메시지 수신: KafkaMessageListenerContainer는 Kafka 토픽에서 메시지를 수신합니다.
// KafkaMessageListenerContainer.java
public void doPoll() {
    // Kafka 토픽에서 메시지를 폴링
}
  1. 메서드 호출:
// 내부 로직 예시
public void invokeListenerMethod(String methodName, Object... args) {
    // 리스너 메서드 호출
}