본문 바로가기
728x90

Spring Batch8

Spring Batch RestAPI to DB 먼저, 필요한 Maven dependency를 추가해야 합니다. Spring Batch와 Spring Boot Starter Data JPA를 사용하면 됩니다. org.springframework.boot spring-boot-starter-batch org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot spring-boot-starter-web 그런 다음 아래와 같이 RestTemplate을 이용하여 REST API를 호출하는 ItemReader를 정의하겠습니다. API 호출에서 사용할 날짜 문자열을 파라미터로 받습니다. import org.springframework.batch.item.ItemReader; imp.. 2023. 6. 27.
Spring Batch, Excel ItemReader로 읽어서 JPA ItemWriter 쓰기 Spring Batch를 사용하여 Excel 파일을 읽어와서 JPA를 이용하여 저장하는 예제입니다. 이 예제에서는 JpaRepository를 사용하여 데이터를 저장합니다. 먼저, 엔티티 클래스와 JpaRepository 인터페이스를 생성합니다. @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String username; private String email; // 생성자, getter, setter 등 } @Repository public interface UserRepository extends JpaRepository { } 그 다음, `ExcelUser.. 2023. 4. 21.
Spring Batch DataBase 설정 DataSource, entityManagerFactory, transactionManager 및 JPA를 설정하는 코드 예제입니다. @Configuration @EnableBatchProcessing @EnableScheduling @EnableTransactionManagement public class BatchConfiguration { // 1. Spring Batch & Quartz Configuration @Bean @Primary @ConfigurationProperties(prefix = "spring.datasource.batch-quartz") public DataSourceProperties batchQuartzDataSourceProperties() { return new Data.. 2023. 4. 21.
Spring Batch SFTP SSH ItemReader, ItemWriter spring batch 프로젝트에서 sftp, ssh 프로토콜로 itemwrite, itemread기능을 구현하려고 하는데 코드 만들어줘 Spring Batch를 사용하여 SFTP/SSH 프로토콜로 파일을 읽고 쓰는 기능을 구현하려면, ItemReader 및 ItemWriter 인터페이스를 구현하는 커스텀 컴포넌트를 작성해야 합니다. 또한, jsch 라이브러리를 사용하여 SFTP/SSH 연결 및 파일 작업을 수행할 수 있습니다. 먼저, 프로젝트에 jsch 라이브러리를 추가하세요. Maven: com.jcraft jsch 0.1.55 Gradle: implementation 'com.jcraft:jsch:0.1.55' 다음으로, SFTP를 사용하여 파일을 읽는 ItemReader를 작성합니다. import.. 2023. 4. 17.
Spring Batch+Quartz에서 Trigger 삭제하고 등록하기 Quartz에서 등록된 trigger 삭제 하기 Spring Boot에서 Quartz 스케줄러를 사용하여 등록된 트리거를 삭제하는 방법을 보여드리겠습니다. 먼저, 스케줄러를 사용하려면 빈으로 등록된 스케줄러 인스턴스를 가져와야 합니다. 이를 위해 Scheduler 타입의 빈을 주입받아 사용합니다. import org.quartz.Scheduler; import org.quartz.TriggerKey; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class QuartzTriggerManager { @Autowired pr.. 2023. 4. 6.
Spring Batch에서 REST API로 Quartz Scheduler 변경하기 Quartz 스케줄러를 사용하여 Spring Batch Job의 스케줄을 변경하려면, 컨트롤러를 작성하여 새로운 스케줄을 반영할 수 있는 엔드포인트를 생성해야 합니다. 컨트롤러 생성: import org.quartz.CronScheduleBuilder; import org.quartz.CronTrigger; import org.quartz.JobKey; import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.SimpleScheduleBuilder; import org.quartz.Trigger; import org.quartz.TriggerBuilder; import org.quartz.TriggerKey; .. 2023. 4. 4.
728x90