본문 바로가기
개발/Spring

[Spring] xxl-job-admin으로 스프링 배치 스케쥴러 관리 1

by onethejay 2022. 5. 31.
728x90

배치(Batch) 관리

이번 포스팅의 배치는 Spring Batch가 아닌 Spring 프로젝트의 일괄 작업(Batch) 서비스들을 의미합니다.
이전에는 컨트롤러에 Scheduler 어노테이션을 사용하여 Cron 방식으로 예약된 일괄 작업을 수행했습니다.
이제는 어드민 화면을 통해 쉽게 관리하고 로그를 확인할 수 있습니다.
포스팅에서 구현할 관리 서비스는 XXL-JOB-ADMIN 입니다.

XXL-JOB-ADMIN

  • 기존에 Scheduler 어노테이션으로 관리하던 예약 작업을 간편하게 관리할 수 있습니다.
  • 기본적인 예약은 물론, 필요 시에는 직접 호출이 가능합니다.
  • Xxljob 어노테이션으로 지정하면 job-admin에서 해당 Job을 호출합니다.
  • RestController를 구현할 필요없이 Service 메서드에 어노테이션을 붙여서 호출이 가능해집니다.
  • job-admin에서 호출 횟수, 기본 param등을 세팅하여 호출할 수 있으며 실패시 email로 알림을 받을 수 있습니다.
  • 로그 및 대시보드를 지원하므로 모니터링이 쉬워집니다.

XXL-JOB 어드민 프로젝트 다운로드

프로젝트를 다운받고 압축을 해제합니다.
https://github.com/onethejay/xxl-job-admin

이클립스 혹은 인텔리제이 등 개발툴에서 소스를 Open 합니다.

XXL JOB 어드민 초기 세팅하기

어드민 프로젝트를 시작하려면 먼저 DB 세팅이 필요합니다. Docker 또는 로컬, AWS 등의 환경에 MySQL이 세팅되어있어야 합니다.
이번 포스팅에서는 Docker에 MySQL을 설치하였습니다.

MySQL이 설치되었다면 소스 프로젝트에 있는 init_db.sql 파일 안의 내용을 복사하여 DB에 실행합니다.

DB 세팅이 완료되었으면 소스의 application.properties 파일
xxl-job, datasource 부분의 username과 password를 자신의 DB에 맞게 변경합니다.

xxl-job, email 부분을 수정하면 알림 메일을 수신할 수 있습니다.

설정 완료 후 프로젝트를 실행합니다.

웹브라우저 http://localhost:8080/xxl-job-admin 을 통해 어드민에 접속할 수 있습니다.
초기 아이디와 비밀번호는 admin / 123456 입니다.

로그인이 완료되었습니다.

728x90

댓글