Home

0

Spring Batch - 21. TaskletStep

출처 해당 포스트는 정수원 강사님의 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch 강의를 바탕으로 작성 됐습니다. 목차 [Spring Batch] - ItemWriter [Spring Batch] - ItemProcessor [Spring Batch] - ItemReader [Spring Batch] - ChunkProvider 와 ChunkProcessor [Spring Batch] - ChunkOrientedTasklet [Spring Batch] - Chunk 기반 Step Spring Batch - 24. FlowJob Post not found: spring/spring-batch/tasklet/spring-batch-23-JobStep Spring Batch - 22. Tasklet 기반 Step Spring Batch - 21. TaskletStep Spring Batch - 20. StepBuilderFactory 와 StepBuilder Spring Batch - 19. JobParameters 증가 JobParametersIncrementer Spring Batch - 18. Job 의 재시작 방지 preventRestart Spring Batch - 17. JobParameters 검증 JobParametersValidator Spring Batch - 16. SimpleJob 와 SimpleJobLauncher Spring Batch - 15. JobBuilderFactory & JobBuilder TaskletStep TaskletStep 은 Step 구현체 중 하나로 Tasklet 을 실행한다. TaskletStep 은 Step 인터페이스를 구현하며, Tasklet 을 실행하기 위한 Step 입니다. Tasklet 은 Step 의 실행 시점에 호출되는 단일한 실행 단위입니다. TaskletStep 을 사용하는 경우, Tasklet 인터페이스를 구현한 클래스를 작성하고, 해당 클래스에서 수행할 로직을 구현합니다. 이후 TaskletStep 을 정의할 때, 이 Tasklet 클래스를 참조하여 Step을 구성합니다. TaskletStep 을 사용하는 가장 일반적인 예는 파일을 읽어들이고, 처리한 후 결과를 파일로 출력하는 작업입니다. 이 경우, Tasklet 클래스에서 파일을 읽어들이고, 처리한 후 결과를 파일로 출력하는 로직을 구현하면 됩니다. 또한, TaskletStep 은 다양한 환경에서 사용될 수 있으며, Spring Batch의 다른 Step과 조합하여 다양한 처리 작업을 수행할 수 있습니다. TaskletStep 아키텍처

0

Spring Batch - JobListener

출처 해당 포스트는 정수원 강사님의 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch 강의를 바탕으로 작성 됐습니다. 목차 Spring Batch - 24. FlowJob Post not found: spring/spring-batch/tasklet/spring-batch-23-JobStep Spring Batch - 22. Tasklet 기반 Step Spring Batch - 21. TaskletStep Spring Batch - 20. StepBuilderFactory 와 StepBuilder Spring Batch - 19. JobParameters 증가 JobParametersIncrementer Spring Batch - 18. Job 의 재시작 방지 preventRestart Spring Batch - 17. JobParameters 검증 JobParametersValidator Spring Batch - 16. SimpleJob 와 SimpleJobLauncher Spring Batch - 15. JobBuilderFactory & JobBuilder Spring Batch - 14. 배치 초기화 설정 (application.properties) Spring Batch - 13. JobLauncher Spring Batch - 12. JobRepository Spring Batch - 11. ExecutionContext Spring Batch - 10. StepContribution Spring Batch - 09. StepExecution 와 STEP_EXECUTION 테이블 Spring Batch - 08. Step Spring Batch - 07. JobExecution 와 JOB_EXECUTION 테이블 Spring Batch - 06. JobParameter 와 JOB_EXECUTION_PARAM 테이블 Spring Batch - 05. JobInstance 와 JOB_INSTANCE 테이블 Spring Batch - 04. JobLauncher Spring Batch - 03. Job Spring Batch - 02. Batch 에서 사용하는 Table Spring Batch - 01. @EnableBatchProcessing JobListener JobListener는 Job 실행 전후에 특정 작업을 수행할 수 있도록 하는 인터페이스 beforeJob 메서드는 Job 실행 전에 호출되며, JobExecutionContext를 인자로 받습니다. 이 메서드에서는 Job 실행 전에 수행해야 하는 작업을 구현할 수 있습니다. afterJob 메서드는 Job 실행 후에 호출되며, JobExecution과 JobExecutionDecider를 인자로 받습니다. 이 메서드에서는 Job 실행 후에 수행해야 하는 작업을 구현할 수 있습니다. public interface JobListener { public void beforeJob() throws Exception; public void afterJob() throws Exception;}

0

Spring Batch - 20. StepBuilderFactory 와 StepBuilder

출처 해당 포스트는 정수원 강사님의 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch 강의를 바탕으로 작성 됐습니다. 목차 [Spring Batch] - ItemWriter [Spring Batch] - ItemProcessor [Spring Batch] - ItemReader [Spring Batch] - ChunkProvider 와 ChunkProcessor [Spring Batch] - ChunkOrientedTasklet [Spring Batch] - Chunk 기반 Step Spring Batch - 24. FlowJob Post not found: spring/spring-batch/tasklet/spring-batch-23-JobStep Spring Batch - 22. Tasklet 기반 Step Spring Batch - 21. TaskletStep Spring Batch - 20. StepBuilderFactory 와 StepBuilder Spring Batch - 19. JobParameters 증가 JobParametersIncrementer Spring Batch - 18. Job 의 재시작 방지 preventRestart Spring Batch - 17. JobParameters 검증 JobParametersValidator Spring Batch - 16. SimpleJob 와 SimpleJobLauncher Spring Batch - 15. JobBuilderFactory & JobBuilder StepBuilderFactory StepBuilder 를 생성하는 팩토리 클래스 public class StepBuilderFactory { private JobRepository jobRepository; private PlatformTransactionManager transactionManager; public StepBuilderFactory(JobRepository jobRepository, PlatformTransactionManager transactionManager) { this.jobRepository = jobRepository; this.transactionManager = transactionManager; } public StepBuilder get(String name) { StepBuilder builder = new StepBuilder(name).repository(jobRepository).transactionManager( transactionManager); return builder; }} StepBuilder Step 구성을 쉽게 하기 위한 빌더 클래스

0

Spring Batch - 19. JobParameters 증가 JobParametersIncrementer

출처 해당 포스트는 정수원 강사님의 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch 강의를 바탕으로 작성 됐습니다. 목차 Spring Batch - 24. FlowJob Post not found: spring/spring-batch/tasklet/spring-batch-23-JobStep Spring Batch - 22. Tasklet 기반 Step Spring Batch - 21. TaskletStep Spring Batch - 20. StepBuilderFactory 와 StepBuilder Spring Batch - 19. JobParameters 증가 JobParametersIncrementer Spring Batch - 18. Job 의 재시작 방지 preventRestart Spring Batch - 17. JobParameters 검증 JobParametersValidator Spring Batch - 16. SimpleJob 와 SimpleJobLauncher Spring Batch - 15. JobBuilderFactory & JobBuilder Spring Batch - 14. 배치 초기화 설정 (application.properties) Spring Batch - 13. JobLauncher Spring Batch - 12. JobRepository Spring Batch - 11. ExecutionContext Spring Batch - 10. StepContribution Spring Batch - 09. StepExecution 와 STEP_EXECUTION 테이블 Spring Batch - 08. Step Spring Batch - 07. JobExecution 와 JOB_EXECUTION 테이블 Spring Batch - 06. JobParameter 와 JOB_EXECUTION_PARAM 테이블 Spring Batch - 05. JobInstance 와 JOB_INSTANCE 테이블 Spring Batch - 04. JobLauncher Spring Batch - 03. Job Spring Batch - 02. Batch 에서 사용하는 Table Spring Batch - 01. @EnableBatchProcessing JobParameters 증가 - JobParametersIncrementer JobParameters 의 변경없이 Job 을 여러번 재시작 하고 싶은 경우 설정 JobParameters 의 필요한 값을 증가시켜 다음에 사용될 JobParameters 객체를 반환합니다. 기존의 JobParameters 의 변경없이 Job 을 여러번 재시작 하고 싶은 경우 설정합니다. RunIdIncrementer 구현체를 지원하며 필요에 따라 JobParametersIncrementer 인터페이스를 직접 구현할 수 있습니다.

0

SonarQube

공식 홈페이지 https://www.sonarsource.com/products/sonarqube/ SonarQube SonarQube는 코드 품질 관리 도구로, 개발자들이 작성한 소스 코드의 품질을 측정하고 향상시키는 데 사용됩니다. SonarQube는 정적 코드 분석(Static Code Analysis)을 수행하여 코드 품질을 측정하며, 다양한 측면에서 코드 품질을 분석합니다. 예를 들어, 코드의 복잡성, 중복, 버그 및 취약점, 코드 커버리지 등을 측정하여 개발자들이 더 나은 코드를 작성할 수 있도록 돕습니다. SonarQube는 다양한 프로그래밍 언어 및 프레임워크를 지원하며, 대규모 프로젝트에서도 충분히 사용될 수 있는 안정적이고 확장 가능한 도구입니다. 또한 SonarQube는 CI/CD 파이프라인에 통합하여 자동화된 코드 검사 및 품질 향상을 가능하게 합니다. SonarQube는 오픈소스 라이선스를 가지고 있으며, 개발자들은 무료로 사용할 수 있습니다. 또한 상용 버전인 SonarQube Enterprise도 제공되며, 기업에서는 추가적인 기능 및 지원을 제공받을 수 있습니다. SonarQube 설치brew install sonarbrew install sonar-scanner

0

데이터 베이스 - Soft Delete & Hard Delete

Hard DeleteHard Delete 는 데이터베이스에서 특정 레코드를 완전히 삭제하는 것을 의미합니다. 이 경우 해당 레코드는 영구적으로 삭제되어 복구할 수 없습니다. Soft DeleteSoft Delete 는 데이터베이스에서 특정 레코드를 논리적으로 삭제하지만, 물리적으로는 데이터베이스에 그대로 남아있는 것을 의미합니다. 즉, 해당 레코드를 삭제했을 때, 실제로는 데이터베이스에서 해당 레코드를 삭제하지 않고, 삭제되었다는 표시를 하여 삭제된 것처럼 처리합니다. 이렇게 하면 데이터를 복구할 수 있으며, 사용자가 실수로 데이터를 삭제했을 때 복구할 수 있는 장점이 있습니다. 소프트 삭제를 구현하는 방법에는 다양한 방법이 있습니다. 가장 일반적인 방법은 레코드에 삭제 플래그 (delete flag)라는 특별한 필드를 추가하고, 이 필드에 삭제 여부를 표시하는 것입니다. 이렇게 하면 삭제된 레코드를 쉽게 찾을 수 있고, 삭제된 레코드를 복구할 수도 있습니다.