일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Java
- The law of Demeter
- 키클락
- spring batch
- 체인 패턴
- 사가 패턴
- spring cloud
- Spring Cloud Netfilx Eureka
- 디자인 패턴
- 알고리즘
- Transaction Pattern
- saga pattern
- thread
- MSA
- 멀티스레드
- 스프링 배치
- JPA
- java 정렬
- Resilinece4j
- Serial GC
- Spring Boot Actuator
- Parallel Old GC
- 스레드
- 디자인패턴
- 타입스크립트
- Action Pattern
- zipkin
- 배치
- TypeScript
- 생산자 소비자 패턴
- Today
- Total
목록스프링 배치 (5)
PSD( Private-Self-Development )
JobExplorer( Job 실행 정보 ) JobRepository 의 readOnly 버전 실행 중인 Job 의 실행 정보인 JobExecution 또는 Step 의 실행 정보인 StepExecution 을 조회할 수 있다. [JobExplorer] List getJobInstances(String jobName, int start, int count) // start 인덱스부터 count만큼의 JobInstances을 얻는다. JobExecution getJobExecution(Long executionId) // JobExecutionId 를 이용하여 JobExecutions 을 얻는다 StepExecution getStepExecution(Long jobExecutionId, Long stepE..
스프링 배치 또한 테스트 코드 작성을 지원한다. 알아보자! 1. 의존성 추가 org.springframework.batch spring-batch-test 2. @SpringBatchTest 어노테이션 추가 및 테스트 작성 자동으로 ApplicationContext에 테스트에 필요한 여러 유틸 Bean을 등록해주는 어노테이션 JobLauncherTestUtils launchJob(), launchStep() 과 같은 스프링 배치 테스트에 필요한 유틸성 메소드 지원 JobRepositoryTestUtils JobRepository 를 이용하여 JobExecution 을 생성 및 삭제하는 메소드 지원 StepScopeTestExecutionListener @StepScope 컨텍스트를 생성해 주며 해당 컨텍..

Spring Batch 는 프로세스 간에 다양한 이벤트 리스너 를 제공한다. 이를 공부해보자! JobExecutionListener, StepExecutionListener Job/Step 의 실행 전/후 이벤트 할당 Job/Step 의 성공 여부와 상관없이 호출된다. 성공 실패 여부는 JobExecution/StepExecution을 통해 알 수 있다. 예시 public Job job() { return jobBuilderFactory.get("job") .start(step()) .next(flow()) .listener(JobExecutionListener) .listener(Object) // 어노테이션 방식 .build(); } public Step step() { return stepBuild..
멀티 스레드? 특정 작업을 처리하는 스레드가 단일이 아닌 여래 개 일 경우 멀티 스레드 라고 한다. 일반적으로 복잡한 처리나 대용량 데이터 처리를 할 때, 소요 시간 및 성능상의 이점을 위해 사용한다. 단, 데이터 동기화 에 신경 써줘야 하기 때문에 신중히 사용해야 한다. Spring Batch 에서의 멀티 스레드 마찬가지로 기본적으로 단일 스레드 방식으로 작업을 처리한다. 멀티 스레드를 위한 비동기 처리 및 Scale out 기능을 제공한다. Local( 서버 내부적 ) 과 Remote( 외부 서버적 ) 처리 지원 멀티 스레드 처리 종류 1. AsyncItemProcessor / AsyncItemWriter ItemProcessor 에게 별도의 스레드가 할당되어 작업을 처리하는 방식 Step 내부 It..
1. Repeat 특정 조건이 충족 혹은 충족 전까지 Job 또는 Step 을 반복하도록 구성 가능 하다. 스프링 배치에서는 Step, Chunk 반복을 RepeatOperation을 사용하여 처리하고 있다. 기본 구현체로 RepeatTemplate를 제공한다. 반복을 종료할 것인지 여부를 결정하는 세 가지 항목 RepeatStatus 처리가 끝났는지 판별하기 위한 열거형(Enum) CONTINUALBE : 작업이 남아 있음 FINISHED : 더 이상의 반복 없음 CompletionPolicy RepeatTemplate 의 iterate 메서드 안에서 반복 중단을 결정한다. 실행 횟수 혹은 완료시기, 오류 발생 시 수행할 작업에 대한 반복 여부 결정 정상 종료를 알리는데 사용된다. ExceptionHa..