안녕하세요~ 이번에는 배치를 수행하면서 특정한 잡 1개만을 수행하고 싶을 때 수행하는 방법입니다. 1. application.properties 에 아래와 같이 추가 spring.batch.job.names=${job.name:SampleJob} 2. 실행 옵션을 변경 java -Dserver.port=8081 -Duser.timezone=Asia/Seoul -Dspring.profiles.active=cron -jar *.jar --job.name=SampleJob * 여기서 맞추셔야 할 부분은 port는 수행하실 포트 번호로 수행해주세요. profile 이 cron 인 경우 위와 같이 실행해줍니다. 프로파일이 변경되면 -Dspring.profiles.active=${profile} 로 다른 변수를 넣..
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이 실행되..