반응형

프레임워크(Framework)/Spring 55

[Spring Batch] 스프링 배치 StepContribution 이해하기 - Spring boot 2.x

StepContribution StepContribution은 Chunk 기반 Tasklet에서 Chunk 프로세스의 변경 사항을 버퍼링 한 후 StepExecution 상태를 업데이트하는 도메인 객체다. Chunck 커밋 직전에 StepExecution의 apply 메서드를 호출하여 상태를 업데이트한다. ExitStatus의 기본 종료코드 외 사용자 정의 종료코드를 생성해서 StepExecution에 적용할 수 있다. StepContribution의 구조 readCount : 성공적으로 read한 아이템 수 writeCount : 성공적으로 write한 아이템 수 filterCount : ItemProcessor에 의해 필터링된 아이템 수 parentSkipCount : 부모 클래스인 StepExecu..

[Spring Batch] 스프링 배치 StepExecution 이해하기 - Spring boot 2.x

본 내용은 온라인 강의 사이트 인프런의 정수원 님의 강의 내용이 포함되어 있습니다. 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch - 인프런 | 강의 초급에서 중~고급에 이르기까지 스프링 배치의 기본 개념부터 API 사용법과 내부 아키텍처 구조를 심도있게 다룹니다. 그리고 스프링 배치 각 기능의 흐름과 원리를 학습하게 되고 이를 바탕으 www.inflearn.com Intro 스프링 배치의 도메인은 크게 두 가지로 나눌 수 있다. 배치를 특정 단계 또는 흐름에 따라 처리하고 구성하는 역할을 하는 도메인 Job, Step, Flow, Tasklet, … 배치의 단계마다 실행 정보나 상태 정보를 데..

[Spring Batch] 스프링 배치 Tasklet의 여러 가지 구현 방식 - Spring boot 2.x

Tasklet Tasklet 인터페이스는 execute 단일 메서드를 제공한다. Step 내에서 구성되고 실행되는 도메인 객체로 단일 task를 수행하기 위해 사용된다. Tasklet은 구현 클래스, 익명 클래스, 사용자 정의 클래스를 통해 실행할 수 있다. 기본 구현 클래스 스프링 배치에서 기본적으로 제공하는 구현체를 사용하는 방식이다. @Bean public Step step() { return stepBuilderFactory.get("step") .tasklet(new Tasklet() { @Override public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception { //..

[Spring Batch] 스프링 배치 Step 이해하기 - Spring boot 2.x

Intro 스프링 배치의 도메인은 크게 두 가지로 나눌 수 있다. 배치를 특정 단계 또는 흐름에 따라 처리하고 구성하는 역할을 하는 도메인 Job, Step, Flow, Tasklet, … 배치의 단계마다 실행 정보나 상태 정보를 데이터베이스에 저장하기 위한 메타데이터 도메인 JobInstance, JobExecution, StepExecution, … Step Step 인터페이스는 Batch Job을 구성하는 독립적인 하나의 단계로서 실제 배치 처리를 정의하고 컨트롤하는 데 필요한 모든 정보를 가지고 있는 도메인 객체다. Step은 단순한 단일 태스크뿐만 아니라 입력과 처리, 출력과 관련된 복잡한 비즈니스 로직을 포함하는 모든 설정들을 담고 있다. Step은 배치작업을 어떻게 구성하고 실행할 것인지에 ..

[Spring Batch] 스프링 배치 JobInstance 이해하기 - Spring boot 2.x

본 내용은 온라인 강의 사이트 인프런의 정수원 님의 강의 내용이 포함되어 있습니다. 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch - 인프런 | 강의 초급에서 중~고급에 이르기까지 스프링 배치의 기본 개념부터 API 사용법과 내부 아키텍처 구조를 심도있게 다룹니다. 그리고 스프링 배치 각 기능의 흐름과 원리를 학습하게 되고 이를 바탕으 www.inflearn.com Intro 스프링 배치의 도메인은 크게 두 가지로 나눌 수 있다. 배치를 특정 단계 또는 흐름에 따라 처리하고 구성하는 역할을 하는 도메인 Job, Step, Flow, Tasklet, … 배치의 단계마다 실행 정보나 상태 정보를 데..

[Spring Batch] 스프링 배치 Job 이해하기 - Spring boot 2.x

본 내용은 온라인 강의 사이트 인프런의 정수원 님의 강의 내용이 포함되어 있습니다. 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch - 인프런 | 강의 초급에서 중~고급에 이르기까지 스프링 배치의 기본 개념부터 API 사용법과 내부 아키텍처 구조를 심도있게 다룹니다. 그리고 스프링 배치 각 기능의 흐름과 원리를 학습하게 되고 이를 바탕으 www.inflearn.com Intro 스프링 배치의 도메인은 크게 두 가지로 나눌 수 있다. 배치를 특정 단계 또는 흐름에 따라 처리하고 구성하는 역할을 하는 도메인 Job, Step, Flow, Tasklet, … 배치의 단계마다 실행 정보나 상태 정보를 데..

[Spring Batch] 스프링 배치 DB 스키마 이해하기 - Spring boot 2.x

본 내용은 온라인 강의 사이트 인프런의 정수원 님의 강의 내용이 포함되어 있습니다. 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch - 인프런 | 강의 초급에서 중~고급에 이르기까지 스프링 배치의 기본 개념부터 API 사용법과 내부 아키텍처 구조를 심도있게 다룹니다. 그리고 스프링 배치 각 기능의 흐름과 원리를 학습하게 되고 이를 바탕으 www.inflearn.com 스프링 배치 DB 스키마 Job 관련 테이블 batch_job_instance Job이 실행될 때 JobInstance 정보가 저당되며 job_name과 job_key를 키로 하여 하나의 데이터가 저장된다. 동일한 job_name과 ..

[Spring Batch] 스프링 배치 간단한 Job 구현하고 실행하기 - Spring boot 2.x

본 내용은 온라인 강의 사이트 인프런의 정수원 님의 강의 내용이 포함되어 있습니다. 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch - 인프런 | 강의 초급에서 중~고급에 이르기까지 스프링 배치의 기본 개념부터 API 사용법과 내부 아키텍처 구조를 심도있게 다룹니다. 그리고 스프링 배치 각 기능의 흐름과 원리를 학습하게 되고 이를 바탕으 www.inflearn.com 스프링 배치 프로젝트 구성 및 환경 설정 아래 링크를 통해 스프링 배치를 실행하기 위한 프로젝트 생성 및 환경 설정을 수행하고 나면 간단한 스프링 배치 Job을 구성하여 실행할 수 있다. https://ittrue.tistory.co..

[Spring Batch] 스프링 배치 프로젝트 구성 및 환경 설정 - Spring boot 2.x

본 내용은 온라인 강의 사이트 인프런의 정수원 님의 강의 내용이 포함되어 있습니다. 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch - 인프런 | 강의 초급에서 중~고급에 이르기까지 스프링 배치의 기본 개념부터 API 사용법과 내부 아키텍처 구조를 심도있게 다룹니다. 그리고 스프링 배치 각 기능의 흐름과 원리를 학습하게 되고 이를 바탕으 www.inflearn.com 프로젝트 생성 Spring initializr IntelliJ IDEA Ultimate build.gradle 의존성 추가 프로젝트 생성 후 스프링 배치를 사용하기 위해 의존성을 추가한다. plugins { id 'java' id '..

[Spring Boot] 스프링 부트 웹 서버 톰캣(Tomcat)에서 제티(Jetty)로 변경하기

Intro 스프링 부트에는 톰캣(Tomcat) 서버가 내장되어 있어 별다른 설치 과정 없이 Tomcat을 통해 실행된다. 하지만, 톰캣이 아닌 다른 서버를 통해 프로젝트를 실행할 수도 있다. Jetty Jetty는 이클립스 재단의 HTTP 서버이자 자바 서블릿 컨테이너이다. Jetty도 톰캣(Tomcat)과 같이 자바 서블릿 컨테이너이자 서버로 사용할 수 있기 때문에 개발자는 원하는 서버를 선택하여 프로젝트를 구성할 수 있다. Jetty의 특징 2009년 이클립스 재단으로 이전하면서 오픈소스 프로젝트로 개발되었다. Jetty는 다른 웹 애플리케이션에 비해 적은 메모리를 사용하여 가볍고 빠르다. 애플리케이션에 내장 가능하다. 경량 웹 애플리케이션으로 소형 장비, 소규모 프로그램에 더 적합하다. 스프링 부트..

반응형