
Job Repository는 스프링 배치에 대한 메타 데이터를 저장합니다. 그 구조는 spring-batch-core에 존재합니다. mysql을 사용하므로 mysql.sql을 복사해 생성해보겠습니다. 다음과 같이 여러 테이블이 생성되었습니다. 테이블마다 역할은 다음과 같습니다. BATCH_JOB_INSTACE - job이 실행되며 생성되는 최상위 계층의 테이블입니다 - job_name과 job_key를 기준으로 하나의 row가 생성되며, 같은 name, key는 저장될 수 없습니다. - job_key는 BATCH_JOB_EXECUTION_PARAMS에 저장되는 Parameter를 나열해 암호화해 저장합니다. - JobInstace클래스와 매핑 됩니다. BATCH_JOB_EXECTION - job이 실행되..

이번에 배치 실패 시 알림을 보내는 기능을 구현 하면서 배치에서 제공하는 리스너에 대해 정리한 내용을 공유하려고 합니다 스프링 배치 프레임 워크 다음 아키텍처는 스프링 배치의 프레임 워크의 구성 요소를 보여 줍니다 스프링 배치 작업은 오랫동안 실행될 수 있으며 진행 정보를 제공하는 것이 중요합니다. 진행 중인 작업, 실패한 작업 및 완료된 작업 등 모든 정보는 배치 이벤트 리스너를 사용해서 수집 및 가공할 수 있습니다. 서비스 운영 중 배치의 실패 여부를 알기 위해 확인을 위한 알림이 필요했습니다. 배치는 여러 개의 이벤트 리스너를 제공하며 그중 Job , Step 을 보조해주는 JobExectionListener 와 StepExecutionListener 가 성공과 실패에 관계없이 이벤트 결과값을 반환..

이번 글에서는 스프링 배치를 개발하던 중 필요한 내용들에 대한 레퍼런스를 모아보았습니다. Spring Batch란? - 스프링 배치는 벡엔드의 배치처리 기능을 구현하는 데 사용하는 프레임워크입니다. 배치는 스프링 배치 설정 요소들을 간편화시켜 빠르게 설정하는 데 도움을 줍니다. Spring Batch 장점 1) 대용량 데이터 처리에 최적화되어 고성능을 발휘 2) 효과적인 로깅, 통계 처리, 트랜잭션 관리 등 재사용 가능한 필수 기능을 지원 3) 수동으로 처리하지 않도록 자동화되어 있습니다. 4) 예외사항과 비정상 동작에 대한 방어 기능 존재. Spring Batch 단점 - 스케줄 기능 제공하지 않음 - 스케줄링을 위해 jenkins나, Quarz를 같이 사용 Spring Batch 개념 https://..