분류 전체보기28 (1) Quartz 정의 Quartz란? Terracotta에서 개발한 Java 기반의 Scheduler Pure Java 로 개발되었으며, Spring 등에도 통합되어 제공 DB 기반의 Clustering이 지원되어 확장이 용의 (Round-robin 형태) in-memory 형태 Scheduler로 제공 가능(테스트용) 별도의 Admin이나 UI가 제공되지 않음 현재 거의 변경 사항은 없음 (거의 완성형?) 사용자 정의 형태 Schedule 또는 Cron 형태의 Schedule 지원 가능 Quatz 특징 장점 Database 기반의 클러스터링 기능 제공 Failover / Round-Robin 기반의 잡 스케쥴링 여러가지 Plugin-in 제공 단점 작업 수행 방식이 Round-Robin 기반의 작업 수행 방식만 지원 별도의.. 2022. 11. 24. (10-1) Spring Batch FlatFileItemWriter FlatFileItemWriter Chunk List 단위로 데이터를 받아 일괄 출력 작업용 인터페이스 지원 인터페이스 FlatFile XML Database JMS, Message Queue Custom Writer 고정형 FlatFileItemWriter Sample @Bean @StepScope public FlatFileItemWriter itemWriter( @Value("#{jobParameters['outputFile']}") Resource outputFile) { return new FlatFileItemWriterBuilder() .name("customerItemWriter") .resource(outputFile) .formatted() .format("%s %s lives at %.. 2022. 11. 16. (10) Spring Batch ItemWriter ItemWriter ItemWriter 는 ItemReader와 다르게 List 형태로 데이터를 받게 된다. 2022. 11. 16. (9) Spring Batch ItemProcessor ItemProcessor Job이 처리하는 Item을 Business Logic에 적용 사용자가 Business Logic을 개발하고, 필요에 맞게 로직을 적용 할 수 있는 Interface ItemReader를 통해 입력 받은 데이터의 유효성 검사를 할 수도 있음 스크립트를 활용하여 데이터 유효성 검사도 가능 ItemProcessor 형태로 제공 I: ItemReader에서 생성된 Item 형태 O: ItemWriter에서 사용할 Item 형태 null 을 반환할 경우 모든 작업이 중지 된다. Annotation을 활용한 Validation Annotation 예시 public class Customer { @NotNull(message="First name is required") @Pattern(r.. 2022. 11. 16. 이전 1 2 3 4 5 ··· 7 다음