일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 보안
- spring Batch
- 포너블
- 웹해킹
- 리버싱
- 회고
- kotest
- webhacking.kr
- hackctf
- gcp cloud build
- node.js
- 시스템 해킹
- gcp
- Python
- Baekjoon
- docker
- cloud run
- Batch
- 프로그래머스
- 사이버보안
- gcp ci/cd
- 웹보안
- 백준
- pwnable.xyz
- 파이썬
- 스프링 배치
- 네트워크
- programmers
- sequelize
- nodejs
Archives
uju's Tech
[Batch:Jobexecution]동적으로 JobName, StepName 가져오기 본문
<본 포스팅은 공부목적으로 작성되었습니다. 혹시 틀린 부분이 있거나 문제가 되는 부분이 있다면 답글 달아주세요!>
개발 중에 기존에 static final로 선언해두었던 JobName과 StepName 변수를
동적으로 할당하고 싶은 경우가 발생하였다.
다른 서비스에서도 해당 클래스를 활용할 수 있도록 확장성을 높이기 위해
static final로 지정되어있던 것을 들어오는 파라미터에 따라서
동적으로 사용해 줄 수 있도록 개발하고 싶었다.
일단 개발하고 있는 것이 Batch라는 것을 생각해본다면
우리는 Job을 가지고있고 그에 따른
JobExecution 또한 가지고있다.
JobExecution은 많은 정보를 담고있다.
JobInstance, 배치 실행 상태, 시작 시간등 다양한 정보등을 담고있습니다.
JobInstance를 보면 jobname 정보를 담고있음을 확인할 수 있다.
그렇다면 StepName은 어떻게 알 수 있을 까?
JobExecution안에 set Execution에 접근할 수 있는 getStepExecution이 존재한다.
이를 이용하여 StepName을 가져올 수 있다.
정리를 해보면
JobExecution jobexecution;
String JOB_NAME = jobexecution.getJobInastance.getJobName();
String STEP_NAME = jobexecution.getStepExecutions().iterator().next().getStepName();
위와 같이 지정해 줄 수 있다
'Spring > Batch' 카테고리의 다른 글
[Batch]Batch가 뭘까 ? (0) | 2020.06.13 |
---|
Comments