마르코의 개발 일기

고정 헤더 영역

글 제목

메뉴 레이어

마르코의 개발 일기

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (88)
    • JAVA (5)
    • Spring (9)
    • SpringSecurity (20)
    • 알고리즘 (1)
    • Database (10)
    • AWS (5)
    • 공학지식 (1)
    • SpringBatch (6)
    • SpringCloud (10)
    • Proxy (2)
    • Linux (1)
    • Node (2)
    • 보안 (3)
    • 암호화 (5)
    • 소켓 (1)
    • 프로젝트 일기 (4)

검색 레이어

마르코의 개발 일기

검색 영역

컨텐츠 검색

SpringBatch

  • SpringBatch 스케줄러로 Job실행하기

    2022.08.19 by 성찬우

  • SpringBatch ExecutionContext

    2022.08.19 by 성찬우

  • Spring Batch DB 데이터 이관하기

    2022.08.17 by 성찬우

  • Spring Batch Listener

    2022.08.16 by 성찬우

  • Spring Batch 기본 예제.

    2022.08.13 by 성찬우

  • Spring Batch 란?

    2022.08.12 by 성찬우

SpringBatch 스케줄러로 Job실행하기

여태까지 수동으로 argument 를 넣어서 애플리케이션을 실행시켜서 확인했지만 이제 한번 스케줄러로 자동적으로 실행이 되도록 해보겠다. 우선 애플리케이션.class에다가 @EnableScheduling 어노테이션을 걸어 주어야한다. 그리고 이제 JobLauncher 를 직접적으로 만들어 사용할 것인데 컴포넌트를 달아주고 우리가 실행시킬 Job의 이름을 주입시켜준다. yaml파일은 이렇게 argument 파라미터로 실행되지 않도록 false를 걸어주어야한다. 메소드 만들기 우리는 JobParameters 를 이용할 것인데 해당 클래스는. JobParameters " 배치 작업에 대한 런타임 파라미터들을 나타내는 값을 가진 객체다. 한 작업 파라미터 객체가 다른 작업 파라미터와 동일한지 판단하기 위해서 파..

SpringBatch 2022. 8. 19. 16:11

SpringBatch ExecutionContext

배치에서는 ExecutionContext 라는 기능을 제공한다. 해당 기능을 이해하기 위해서는 전체적인 그림을 다시한번 짚고 넘어가야하는데 Job 은 Job Runner에서 시작이 된다. Job Runner는 잡의 이름과 파라미터를 전달 받아 실행시키는데 Command Line Job Runner : 스크립트또는 명령을 통해 직접 잡을 실행할 때 사용 Job Registry Background Job Runner 스프링을 *부트스트랩 해서 기동된 자바 프로세스 내에서 스케줄러를 사용해 잡을 실행 시킬때 사용. JobRegistry 를 샐성하는데 사용되는데 이 *JobRegistry 는 스프링이 부트스트랩 될때 실행 가능한 잡을 가지고 있다. *부트스트랩 : 일반적으로 한번 시작되면 알아서 진행되는 일련의..

SpringBatch 2022. 8. 19. 13:26

Spring Batch DB 데이터 이관하기

A라는 테이블에서 B테이블로 데이터를 옮겨야 할때 우리는 어떻게 해야할까? 또는 A라는 정리된 문서를 B테이블로 데이터를 새로이 쓸때 어떻게 해야할까? 생각나는 것은 B테이블에서 A테이블을 파라미터로 받는 생성자를 만들어 B테이블에 저장하는 것이 가장 먼저 떠오를 것 같다. 그렇게 생성된 데이터를 repository에 save하면 되니까 Spring Batch 에서는 프로그램이 시작될 때 이를 자동적으로 처리할 수 있도록 도와준다. Entity Chef 엔티티 id : pk name : 이름 age : 나이 mainMenu : 주력 메뉴 debut : 일을 시작한 날 ChefCareer 엔티티 id : pk name : 이름 mainMenu : 주력 메뉴 carrer : 경력 repository 는 일반..

SpringBatch 2022. 8. 17. 15:12

Spring Batch Listener

아무래도 자동적으로 대용량 처리를 함에 있어서 로그를 통해서 어떤 작업을 처리했고 상태는 어떠한지에 대해서 확인해야 한다. Job이 실행되기 전과 실행된 후 그리고 결과status에 대해 알아 볼 수있는 시간을 가져보려한다. .listener() 우리는 listener() 를 통해서 로그를 뽑아 볼 수있다. 물론 같은 클래스 안에서 만들어서 사용해도되지만 클래스를 나누어서 활용해 보도록 하자. (간단하게 해당 코드를 보자면 주방장인 Job이 김밥, 라면, 냉면의 Step을 가지고 있다. ) listener 클래스 주방장에게 일을 주고 해당 일들이 어떻게 처리되는지 알아보도록 하자. JobExecutionListener를 받아서 활용하게 되는데 딱봐도 뭘 오버라이드 하라는것 같다. 오버라이드를 해보면 이렇..

SpringBatch 2022. 8. 16. 13:41

Spring Batch 기본 예제.

https://fitchan.tistory.com/44 Spring Batch 란? 우선 배치는 대용량 트래픽을 한번에 처리하는 것을 의미한다. 어떤 예시들이 있을까? 이메일 쿠폰 발송 가맹점 정산 거래 명세서 생성 추천 시스템 데이터 작업 매번 정산에 변경이 생길 때마 fitchan.tistory.com 전 Spring Batch 에 대한 포스팅에 대해 정리 하자면. 1. SpringBatch 는 일괄적으로 대용량 트래픽을 정기적으로 처리하는데 사용된다. ex)) 정산 즉, 배치는 특정 주기마다 데이터를 처리하는 작업. for 시스템 효율 2. JobRepository , JobLauncher, Job , Step 으로 단계가 나뉜다. 3. Job 은 수행단위를 이야기하며 하나의 Job에는 최소 1개 ..

SpringBatch 2022. 8. 13. 15:36

Spring Batch 란?

우선 배치는 대용량 트래픽을 한번에 처리하는 것을 의미한다. 어떤 예시들이 있을까? 이메일 쿠폰 발송 가맹점 정산 거래 명세서 생성 추천 시스템 데이터 작업 매번 정산에 변경이 생길 때마다 업데이트를 하기에는 대규모 서비스에서는 부담이다. 또한 정산을 이미 했는데 자동화가 되지 않아 수동으로 다시한번 정산을 할 경우 정산 수치에 문제가 발생할 것이다. 즉, 배치 작업은 특정 주기마다 데이터를 처리하는 작업. 고객에게 보이지 않는 곳에서 서비스를 지탱하며 업무 및 시스템의 효율을 위해 사용된다. 스프링 배치의 구조 JobRepository 배치가 실행될 때, 수행되는 매타데이터를 관리하고 시작 및 종료 시간을 관리하며 Job의 상태등을 배치 수행 관련 데이터가 저장되고. Job Launcher Job 을 ..

SpringBatch 2022. 8. 12. 16:05

추가 정보

인기글

최신글

페이징

이전
1
다음
TISTORY
마르코의 개발 일기 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바