분류 전체보기 (461) 썸네일형 리스트형 스프링 배치 실행 - incrementer() jobParameter 값을 해당 job을 식별할 수 있는 유일한 값이다. 일반적으로 동일한 jobParameter 값으로는 재시작을 할 수 없다. 그러나 job이 실행되기 전, 선행되어야 하는 job이 존재하고, 이 job의 parameter가 동일한 경우가 있을 수 있다. 이러한 경우에 사용하는 것이 incrementer 이다. incremental 속성은 validator와 동일하게 CommonJobProperties에 저장되고, 이 내용들은 결국에 SimpleJob 속성에 저장이 된다. Spring batch 에서는 기본적으로 RunIdIncrementer 클래스를 제공하고 있으며 이를 이용하여 incrementer 사용할 수 있다. RunIdIncrementer 클래스는 JobParameters.. 스프링 배치 실행 - preventRestart() Job을 실행하게 되면 실패 또는 성공을 하게 되는데 일반적으로 job이 실패 했을 경우에는 재시작이 가능하고 job이 성공했으면 재시작이 불가능하다. 기본 값은 true -> 실패 했을 경우 job 재시작 가능 false로 설정 변경 -> 실패 해도 재시작 불가능 job Execution이 없다는 개념은 job을 처음 실행한다는 것이다. job Execution이 있다는 것은 재시작을 한다는 것이다. 사용법은 아래와 같다. .preventRestart 메서드만 호출하면 되는 것이다. @RequiredArgsConstructor @Configuration public class ExecutionContextConfiguration { private final JobBuilderFactory jobBuil.. Nginx, Tomcat, War 리눅스 OS version 확인 cat /etc/redhat-release 리눅스 OS는 centos 7.9 인 것을 확인하였다. Nginx 설치 레드햇 계열 리눅스인 CentOS는 패키지를 관리하기 위해 yum이라는 명령어를 사용한다. yum은 Yellow-dog Updater Modified의 줄임말이며 RPM(Redhat Package Manager)을 통한 패키지 설치를 개선하기 위해 개발되었다. centos는 yum을 이용해서 패키지를 편리하게 관리할 수 있다. yum을 이용하여 nginx를 설치해보자. 1. yum 외부 저장소 추가 yum 저장소에는 nginx가 없기 때문에 외부저장소를 추가해야 한다. vi /etc/yum.repos.d/nginx.repo /etc/yum.repos.d 경로에.. SimpleJob - 개념 및 API 소개 (validator) 1. 기본 개념 - Job 실행에 꼭 필요한 파라미터를 검증하는 용도 - DefaultJobParametersValidator 구현체를 기본적으로 지원하며, 좀 더 복잡한 제약 조건이 있다면 인터페이스를 직접 구현할 수도 있음. 2. 구조 - JobParametersValidator 클래스에서 validator 메서드를 사용하며, JobParameterValidator 타입의 인자를 받게 되어있음 job이 실행하게 되면 api에 validate 메서드를 설정하면서 jobParameterValidator @RequiredArgsConstructor @Configuration public class ExecutionContextConfiguration { private final JobBuilderFacto.. SimpleJob - 개념 및 API 소개 SimpleJob spring batch가 기본적으로 제공하는 구현체 SimpleJobBuilder에 의해 생성됨 JobBuilder -> SimpleJobBuilder -> SimpleJob 생성 -> Step을 순차적으로 실행 시 SimpleJob에는 여러 요소가 있다. 각각을 살펴보자. .start 메서드를 통해 simpleJobBuilder를 반환하게 되고, simpleJob객체에다가 simpleJobBuilder 항목이 가지고 있는 설정을 하게 된다. (.incrementer, preventRestart, validator, listener 등등.....) preventRestart 실패하더라도 재시작을 못하게 하려면 preventRestart에 false라는 값을 주면 된다. (재시작 불가) .. [Mysql] order by, group by 특정 Key로 Group by 시 첫번째 데이터를 기준으로 묶이게 된다. 1 team_A 토끼 2 team_A 말 3 team_A 강아지 위와 같은 데이터로 예를 들면 ’team_A’로 Group By 할 경우 첫번째 데이터를 기준으로 1 team_A 토끼 와 같이 묶이게 된다. 이름 순으로 정렬 후 Group By를 하고 싶을 땐 적절하게 Order By 후 진행한다. 1 team_A 강아지 2 team_A 말 3 team_A 토끼 Order By를 이용해 위와 같이 데이터를 정렬 한 후 Group By 를 진행 하면 ’team_A’, ‘강아지’ 로 묶인다. 원하는 데이터를 기준으로 Order By 후 Group By를 하면 되지만 쿼리 실행 순서나 문법 상 Group By를 먼저 수행하게 되므로 아래.. 스프링 배치 실행 - JobBuilderFactory / JobBuilder 지금까지는 SimpleJobBuilder를 사용했다. Job을 생성하는 것 자체가 내부적으로 SimpleJobBuilder를 사용한다는 것이다. FlowJobBuilder는 나중에 살펴볼 예정이다. Job을 생성하기 위한 절차적인 과정을 살펴볼 것이다. simplejobbuilder는 step만 들어갈 수 있고 flowjobbuilder는 step 또는 flow가 들어갈 수 있다. CommonJobProperties는 job이 실행될 때 필요한 항목들을 다 가지고 있다. JobBuilderHelper는 SimpleJobRepository를 참조한다. JobBuilder가 생성되는 클래스간의 계층 및 구조를 명확하게 이해하면 Job Configuration을 구성할 때 많은 도움이 된다. JobReposi.. 스프링 배치 실행 - 배치 초기화 설정 1. JobLauncherApplicationRunner bean으로 정의된 job을 spring boot가 scan해서 JobLauncherApplicationRunner에게 전달해주고 JobLauncherApplicationRunner가 각각의 job을 실행시킴 2. BatchProperties 1. 실행순서 1. BatchAutoConfiguration public class BatchAutoConfiguration { public BatchAutoConfiguration() { } . . . public JobLauncherApplicationRunner jobLauncherApplicationRunner(JobLauncher jobLauncher, JobExplorer jobExplorer, J.. 이전 1 ··· 10 11 12 13 14 15 16 ··· 58 다음