Listener, Event

배치 리스너

  • 배치 실행의 다양한 단계에 Hook을 걸도록 허용
  • 작업 실행, 단계 실행 및 청크 처리 모니터링 및 사용자 정의를 위한 메커니즘을 제공
  • 리스너는 작업 실행에서 더 풍부한 경험을 주며, 로깅, 오류 처리, 통계 수집 및 알림과 같은 작업을 가능하게 한다.

사용하는 이유

  1. 로직 분리 : 관심사 분리로 각 로직을 격리할 수 있다.
  2. 향상된 모니터링 : 다양한 단계에서 추적 및 로깅을 허용하며, 이는 디버깅 및 유지 보수에 중요
  3. 커스텀 동작 : 작업 실행 시작, 종료, 실패 및 단계 실행 시 발생해야 하는 커스텀 동작을 구현 가능

종류

JobExecutionListner

  • 전체 작업 실행 이전 및 이후에 코드를 실행하도록 설계
  • 작업 매개변수를 초기화하거나, 작업의 시작과 끝을 로깅하거나, 작업 완료 후 후처리를 위해 사용할 수 있다.

StepExecutionListener

  • 작업 내 개별 단계에 초점을 맞추고 있다.
  • 단계의 처리, 전처리, 후처리 추적이 유용

    ItemReadListener

  • 청크 처리 중 읽기와 관련이 있다.
  • 읽을 때마다 호출된다.

    ItemProcessListener

  • 항목이 변환되는 처리 단계에 호출
  • 사용자 정의 처리 로직이나 로깅을 구현할 수 있다.

    ItemWriteListener

  • 쓰기에 관련이 있다.
  • 항목이 쓰이기 전후에 훅을 제공한다.