본문 바로가기
728x90

공부/스프링 배치6

스프링배치 - Flow FlowJob 기본개념 Step 을 순차적으로만 구성하는 것이 아닌 특정한 상태에 따라 흐름을 전환하도록 구성할 수 있으며 FlowJobBuilder 에 의해 생성된다. Step 이 실패 하더라도 Job 은 실패로 끝나지 않도록 해야 하는 경우 Step 이 성공 했을 때 다음에 실행해야 할 Step 을 구분해서 실행 해야 하는 경우 특정 Step 은 전혀 실행되지 않게 구성 해야 하는 경우 Flow 와 Job 의 흐름을 구성하는데만 관여하고 실제 비즈니스 로직은 Step 에서 이루어진다. 내부적으로 SimpleFlow 객체를 포함하고 있으며 Job 실행 시 호출한다. 배치 상태 유형 BatchStatus JobExecution 과 StepExeccution 의 속성으로 Job 과 Step 의 종료 후 최.. 2023. 4. 13.
스프링 배치 - Step StepBuilderFactory StepBuilder 를 생성하는 팩토리 클래스로서 get(String name)메서드 제공 StepBuilderFactory,get("stepName"): "stepName" 으로 Step 을 생성 StepBuilder Step 을 구성하는 설정 조건에 따라 다섯 개의 하위 빌더 클래스를 생성하고 실제 Step 생성을 위임한다. TaskletStepBuilder TaskletStep 을 생성하는 기본 빌더 클래스 SimpleStepBuilder TaskletStep 을 생성하며 내부적으로 청크기반의 작업을 처리하는 CHunkOrientedTasklet 클래스를 생성 PartitionStepBuilder PartitionStep 을 생성하며 멀티 스레드 방식으로 Job .. 2023. 4. 13.
스프링 배치 - Job SimpleJob 기본개념 SimpleJob 은 Step 을 실행시키는 Job 구현체로써 SimpleJob 에 의해 생성된다. 여러 단계의 Step 으로 구성할 수 있으며 Step 을 순차적으로 실행시킨다 모든 Step 의 실행이 성공적으로 완료됭야 Job 이 성공적으로 완료 된다. 맨 마지막에 실행한 Step 의 BatchStatus 가 Job 의 최종 BatchStatus 가 된다. validator 기본개념 Job 실행에 꼭 필요한 파라미터를 검증하는 용도 DefaultJobParametersValidator 구현체를 지원하며, 좀 더 복잡한 제약 조건이 있다면 인터페이스를 직접 구현할 수 있음. preventRestart 기본개념 Job 의 재 시작 여부를 셜정 기본 값은 true 이며 false.. 2023. 4. 12.
스프링 배치 실행 - JobBuilderFactory, JobBuilder JobBuilderFactory JobBuilder 를 생성하는 팩토리 클래스, get(String name) 메서드 제공 JobBuilderFactory.get("jobName"): "jobName" 은 스프링 배치가 Job 을 실행시킬 때 참조하는 Job 의 이름 JobBuilder Job 을 구성하는 설정 조건에 따라 두 개의 하위 빌더 클래스를 생성하고 실제 Job 생성을 위임한다. SimpleJobBuilder SimpleJob 을 생성하는 Builder 클래스 Job 실행과 관련된 여러 설정 API 를 제공한다. FlowJobBuilder FlowJob 을 생성하는 Builder 클래스 내부적으로 FlowBuilder 를 반환함으로써 Flow 실행과 관련된 여러 설정 API 를 제공한다. 2023. 4. 12.
스프링배치 도메인 JOB 기본 개념 배치 계층 구조에서 가장 상위에 있는 개념. 하나의 배치작업 자체를 의미. Job Configuration 을 통해 생성되는 객체 단위로서, 배치 작업을 어떻게 구성하고 실행할 것인지 설정하고 명세해 놓은 객체 배치 Job 을 구성하기 위한 최상위 인터페이스이며 스프링 배치가 기본 구현체를 제공한다. 여러 Step 을 포함하고 있는 컨테이너로서 반드시 한개 이상의 Step 으로 구성해야 함. 기본 구현체 SimpleJob 순차적으로 Step 을 실행시키는 Job 모든 Job 에서 유용하게 사용할 수 있는 표준 기능을 갖고 있음 FlowJob 특정한 조건과 흐름에 따라 Step 을 구성하여 실행시키는 Job Flow 객체를 실행시켜 작업을 진행함. --- JobInstance 기본 개념 .. 2023. 4. 10.
스프링배치 - 테이블 Job 관련 테이블 BATCH_JOB_INSTANCE Job 이 실행될 떄 JobInstance 정보가 저장, job_name 과 job_key 를 키로 하여 하나의 데이터가 저장. 동일한 job_name 과 job_key 로 중복 저장될 수 없다. BATCH_JOB_EXECUTION Job 의 실행정보가 저장되며 Job 생성, 시작, 종료 시간, 실행상태, 메시지 등을 관리 BATCH_JOB_EXECUTION_PARAMS Job 과 함께 실행되는 JobParameter 정보를 저장 BATCH_JOB_EXECUTION_CONTEXT Job 의 실행동안 여러가지 상태정보, 공유 데이터를 직렬화 해서 저장 Step 간 서로 공유 가능. Step 관련 테이블 BATCH_STEP_EXECUTION Step 의 .. 2023. 4. 10.
728x90