Spring Batch Batch 데이터를 실시간으로 처리하는게 아닌, 특정 시간에 대량의 데이터를 일괄적으로 모아서 처리하는 작업. 사용자의 개입이 없어야함. 무엇이 잘못되었는지 추적할 수 있어야함.(logging등) 데이터를 충돌/중단 없이 안전하게 처리할 수 있어야함. 다른 application에 방해되지 않도록 과 독립적으로 수행. Spring Batch 구조 1. Read Database에서 특정 레코드 read2. Processing 사용자가 원하는방식으로 processing3. Write 수정된 데이터를 Database에 저장Read -> Processing -> Write 순서로 이루어져있음 Job Batch 처리 과정의 단위.JobInstance 배치처리에서 Job이 실행될 때 Job의 ..
Spring boot Scheduler 사용 일정 시간, 간격에 해당 로직을 돌리기 위해 사용한다. Spring Boot에서는 별도의 dependency를 추가할 필요 없이, Spring Boot Starter에서 Scheduler를 제공. 1. Spring Scheduler를 사용하기 위해서는 main class에 @EnableScheduling annotation을 추가. @EnableScheduling @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } 2. @EnableSchedul..
Java File Watch Service WatchService를 이용한 디렉토리 변경 감지 1. WatchService를 사용해서 디렉토리 내의 file 삭제, 생성, 변경 감지. watchservice 의 create, modify, delete 감지 간단한 설명은 주석으로 ..... WatchService watchService = FileSystems.getDefault().newWatchService(); Path path = FileSystems.getDefault().getPath("D:/watchTestDir"); path.register(watchService, // Create Event StandardWatchEventKinds.ENTRY_CREATE, // Delete Event ..