spring(44)
-
05. Spring배치 사용준비
가. DB 준비 스프링배치는 실행결과, 실행중 상태를 보존하기 위해 DB를 사용한다. ㄱ. dbms 종류 확인 (Postgres, Oracle 등) ㄴ. SpringBatch jar의 내부를 검색 (/org/springframework/batch/core/) schema-*.sql 파일을 찾았다면 파일내 기술되어 있는 create table 문을 이용해서 DB에 테이블 생성. 주의점) EXIT_MESSAGE 컬럼의 경우 2500 바이트로 되어 있기 때문에 부족하다면 늘려주는게 좋을 수 있다. EXIT_MESSAGE 컬럼에는 exception 발생시의 stack trace 문자열을 저장하는 데 이용된다. 스택 트레이스 문자열이 너무 길어서 에러가 되는 경우가 종종 있어서 다음과 같은 조치가 필요. - 컬럼..
2021.04.12 -
04. Spring Batch 기본개념 (ExecutionContext)
가. 개요 Spring Batch가 제공하는 ExecutionContext는 두개가 있다. Job 의 ExecutionContext (이하 JobExecutionContext) Step의 ExecutionContext (이하 StepExecutionContext) 둘은 같은 기능이나, 적용범위가 다르다. 나. Execution Context 의 개념 - Job에서 사용하는 데이터를 보관하는 보관소이다. - ExecutionContext 클래스 ㄱ. Job처리를 통해서 언제나 참조 가능한 데이터를 보존. 추가 및 갱신도 가능. 통상 step처리의 결과 (결과값 등)를 다음 Step에 전달하는 것은 불가능하다. 그러나 JobExecutionContext에 저장해서 어떤 step에서도 참조 가능하게 할 수 있..
2021.04.12 -
03. Spring Batch 기본개념 (기동, 기동 옵션)
가. Spring Batch 기동의 기본 - 배치 Job을 기동하면 Job 실행 오브젝트 (JobExecution 클래스)가 생성된다. - JobExecution : Job의 실행정보를 보존해 두는 오브젝트, 커밋 등의 타이밍에서 실행정보를 DB에 보존. - 실행정보 : Status, 실행결과, Job 실행 ID, JobInstance, 실행한 Step 정보 (StepExecution) 등 - DB에 보존한 JobExecution 정보가 있으므로, 과거 실행했던 Job에 대해 조작이 가능하다. 예를 들어 restart, stop 등의 조작이 가능하다. - JobExecution 정보로써 Job실행 했을때의 ID (Job execution ID)가 생성된다. Job name과 Job parameter가 동..
2021.04.12 -
02. Spring Batch 기본개념 (JobInstance)
02.Spring Batch의 기본개념(JobInstance) 가. JobInstance 의 개념 SpringBatch의 독자적인 개념으로, "기동한 Job을 구별하기 하기 위한 개념"이다. Job Id와 파라메터의 조합구성이 같은 경우, 같은 JobInstance 라고 정의. 나. 구체적 사례 JobInstance는 DB에 보존되어 ID가 발번 된다. ID가 같은 JobInstance와 같은걸로 취급된다. Spring Batch 기동방법 java org.springframework.batch.core.launch.support.CommandLineJobRunner classpath:/example/launch-context.xml job1 name=taro date=2010/01/21CommandLin..
2021.04.12 -
01. Spring Batch 개념 - Step
1. Step 배치 처리를 구성하는 최소단위의 요소. Step은 크게 2종류의 모델로 분류할 수 있다. 2. Step 유형 가. Tasklet model 나. Chunk model
2021.04.09 -
spring batch를 spring boot를 이용해서 돌려보기
1. 개요 조금 복잡한 스프링배치 프레임워크의 개념 파악을 위해 일단 돌려보자. 개념 설명을 최소한으로 하고, 이론보다는 실전, 스프링배치를 어떻게 실행해야 하는지를 먼저 분위기를 느낄 수 있도록 할 예정임. 가. 목표 Spring boot 를 이용해 Spring Batch를 어떻게 작성해야 될지 이해 Spring batch의 전체 구조가 어느 정도 이해 간단한 job, step을 만들수 있게 (Tasklet 모델 이용) 필요한 최소한의 라이브러리, Java Config 작성 방법 이해 2. 스프링 배치 개념 및 아키텍처 가. 스프링 배치 개념 docs.spring.io/spring-batch/docs/current/reference/html/spring-batch-intro.html#spring-bat..
2021.04.09