JSCODE Logo
블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2025 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

[실습] 배치 리스너 인터페이스와 어노테이션으로 구현해보기

JSCODE 시니
JSCODE 시니
2026. 04. 04.
author
JSCODE 시니
category
Spring Batch
createdAt
Feb 7, 2026 01:13 AM
isPublic
isPublic
series
Spring Batch 입문: 3시간 만에 끝내는 대용량 처리의 기초
slug
spring-batch-listener-implementation-guide
type
post
updatedAt
Apr 4, 2026 10:00

✅ 1. 인터페이스 구현 방식

MyJobListener.java
package com.system.batch; @Component @Slf4j public class MyJobListener implements JobExecutionListener { @Override public void beforeJob(JobExecution jobExecution) { log.info("[job 시작] id : {}", jobExecution.getJobInstanceId()); } @Override public void afterJob(JobExecution jobExecution) { if(jobExecution.getStatus() == BatchStatus.FAILED){ log.warn("[job 실패] 비상! 관리자에게 연락하세요"); }else{ log.info("[job 종료] 정상적으로 배치가 수행되었습니다"); } } }
 

✅ 2. 어노테이션을 사용한 간편한 방식

MyAnnotationListener.java
package com.system.batch; @Slf4j @Component public class MyAnnotationListener { @BeforeJob public void announceStart(JobExecution jobExecution){ log.info("[job 시작] id : {}", jobExecution.getJobInstanceId()); } @AfterJob public void announceEnd(JobExecution jobExecution){ if(jobExecution.getStatus() == BatchStatus.FAILED){ log.warn("[job 실패] 비상! 관리자에게 연락하세요"); }else{ log.info("[job 종료] 정상적으로 배치가 수행되었습니다"); } } }
 

✅ 3. Configuration에 리스너 등록하기

ListenerExampleConfig.java
@Configuration @RequiredArgsConstructor public class ListenerExampleConfig { private final JobRepository jobRepository; private final Step exampleStep; // 1. 리스너 주입 (어노테이션 방식이든 인터페이스 방식이든 상관없음) private final MyAnnotationListener myListener; @Bean public Job listenerJob() { return new JobBuilder("listenerJob", jobRepository) .start(exampleStep) .listener(myListener) // 여기에 등록! .build(); } }
 
author
category
Spring Batch
createdAt
Mar 5, 2026 10:56 PM
isPublic
isPublic
series
Spring Batch 입문: 3시간 만에 끝내는 대용량 처리의 기초
slug
type
series-footer
updatedAt
Apr 4, 2026 10:00
📎
이 글은 Spring Batch 입문 강의의 수업 자료 중 일부입니다.