KinesisEventListener

Kinesis 이벤트 리스너. Spring ApplicationEvent로 발행된 AirScheduleEvent를 수신하여 Kinesis 스트림으로 전송.

클래스 정의

@Component
@Profile("!qa")
class KinesisEventListener(
    private val airScheduleProducer: AirScheduleProducer
)

메서드

produceAirSchedule()

@EventListener
fun produceAirSchedule(event: AirScheduleEvent)

AirScheduleEvent 수신 후 Kinesis로 전송.

호출자설명
Spring ApplicationEventPublisher이벤트 발행 시 자동 호출

동작:

  1. CoroutineScope(Dispatchers.IO)로 비동기 실행
  2. withLaunch 유틸로 코루틴 실행
  3. AirScheduleProducer.produce() 호출

프로파일

프로파일활성화
!qaQA 환경 제외

이벤트 플로우

SearchScheduleEvent
    │
    ├─► @EventListener 자동 감지
    │
    └──► produceAirSchedule(event)
             │
             ├─► CoroutineScope(Dispatchers.IO)
             │
             └──► airScheduleProducer.produce(event)

의존성

의존성용도
AirScheduleProducerKinesis 스트림 전송

특징

  • @EventListener: Spring 이벤트 자동 감지
  • 비동기 처리: Coroutines IO 디스패처 사용
  • QA 환경 제외: @Profile(“!qa”)로 QA 환경에서 비활성화
  • withLaunch 유틸: 안전한 코루틴 실행 지원