본문 바로가기

Spring Batch6

Spring Batch 개발기 ( 5. 영화진흥위원회 API ) 영화진흥위원회에서 API를 가져와보자~😵 http://www.kobis.or.kr/kobisopenapi/homepg/main/main.do 영화진흥위원회 오픈API OPEN API 서비스 영화진흥위원회 영화관입장권통합전산망에서 제공하는 오픈API 서비스로 더욱 풍요롭고 편안한 영화 서비스를 즐겨보세요. www.kobis.or.kr 회원가입을 하고 키를 발급받자!! 친절하게 jar파일로 라이브러리를 제공해준다..😱 다운로드 페이지에 들어가서 rest 서비스 호출 jar파일을 다운로드받자! IntelliJ를 키고 build.gradle 파일에 다운받은 라이브러리와 json데이터를 처리해주기 위한 json-simple 라이브러리를 추가해주자❗❗ plugins { id 'org.springframework.b.. 2021. 9. 9.
Spring Batch 개발기 ( 4. MetaData테이블 ) 메타 데이터 테이블은 무엇이 있는지🤔 어떤 역할을 하는지 간단하게만 알아보자❗❗ 1. BATCH_JOB_INSTANCE BATCH_JOB_INSTANCE 테이블 데이터를 보면 이전에 실행했던 Batch에 대한 기록이 저장되어있다❗ BATCH_JOB_INSTANCE에는 Job Parameter에 따라 데이터가 기록된다❗ Job Parameter가 무엇이냐면 Batch를 실행시킬때 내부/외부에서 받아올 수 있는 파라미터이다. 웹 개발을 할때 메서드에 파라미터 값을 받지 않는가??? 그거와 똑같다고 생각하면된다❗ 그럼 이 Job Parameter로 무엇을 하나???🤔 Job Parameter로 받은 값을 가공하여 사용할 수 있다😊 그리고 Job Parameter값에 따라 BATCH_JOB_INSTANCE에 데.. 2021. 7. 16.
Spring Batch 개발기 ( 3. Mysql 사용하기 ) Spring Batch에서 MySQL 사용하기 Spring Batch를 사용하기 위해서는 메타 데이터 테이블들이 필요하다😒 Spring Batch의 메타 데이터 테이블들에는 아래의 정보들이 들어가있다❗❗ 지금까지 실행되었던 Job들의 목록 성공한 Job, 실패한 Job의 Batch Parameter Job안에 있던 Step의 정보, 성공한 Step과 실패한 Step의 정보 등등... Spring Batch를 운영하기 위해 많은 정보들이 메타 테이블에 나뉘어져 들어가게된다😁😁 위의 테이블들이 없으면 Spring Batch를 사용할 수 없다❗ 나는 위의 테이블들을 추가한적이 없는데....❓🤔🤔 기본적으로 H2 DB를 사용했기 때문인데, H2 DB는 Spring Boot가 실행될때 자동으로 위의 테이블들을 추.. 2021. 6. 25.
Spring Batch 개발기 ( 2. Job&Step?? ) 프로젝트 생성하기😊 개발환경 Intellij Spring Boot 2.5.1 Java 8 Gradle JPA MySQL 프로젝트명은 마음대로 적어주자 ( 누구 마음 대로?? 제니퍼 마음대로~뾰로롱😁🙌 ) 요로코롬 추가해서 프로젝트를 생성하자❗❗ JOB, Step 생성하기🤔 Spring Batch를 사용하기 위해 BatchTestApplication.java 파일에 @EnableBatchProcessing을 추가해준다❗ 배치 기능을 사용하기 위해서는 필수로 추가해주어야한다😘 그럼 이제 코드를 작성해보자❗ job이라는 패키지를 하나 만들고 BatchConfig.java 파일을 생성한 후 코드를 작성하자! package com.example.batchtest.job; import lombok.RequiredA.. 2021. 6. 23.
Spring Batch 개발기 ( 1. Spring Batch란?? ) 배치❓❓❓ 일괄 처리(batch processing)란 최종 사용자의 개입 없이 또는 (자원이 허가한다면) 실행을 스케줄링할 수 있는 작업(job)의 실행을 의미한다. 위키피디아에서 검색해보면 이렇게 정의되어있다❗❗ 우리가 아무것도 하지 않아도 알아서 데이터를 처리하는 것이 바로 배치이다👍 배치는 그럼 어디서 많이 쓰일까❓❓ 매일 100만 개의 데이터를 수집해서 통계를 해야 내야 한다면❓ 모든 휴면계정의 사람들에게 일괄적으로 이메일, 문자를 보내야 한다면❓ 1시간마다 API를 호출해 10만 개의 데이터를 DB에 넣어야 한다면❓ 보통 대용량의 데이터를 처리할 때 많이 쓰이게 된다❗ 스프링 배치❓❓ 역시 위키피디아에서 검색해보면❓❗ 스프링은 특정 시간대에 실행하거나 대용량의 자료를 처리하는데 쓰이는 일괄 처.. 2021. 6. 23.
Spring Batch 개발기 토이프로젝트로 영화진흥위원회에서 제공해주는 API를 이용해 OTT 앱을 만들기로 했고 Spring Batch를 사용해보기로 했다❗❗ 토이프로젝트를 진행하면서 개발했던 Batch소스코드를 조금 정리해보려한다😀 Race Start😁 http://www.kobis.or.kr/kobisopenapi/homepg/main/main.do 영화진흥위원회 오픈API OPEN API 서비스 영화진흥위원회 영화관입장권통합전산망에서 제공하는 오픈API 서비스로 더욱 풍요롭고 편안한 영화 서비스를 즐겨보세요. www.kobis.or.kr 2021. 6. 23.
반응형