spring(44)
-
[퍼옴] [Spring Batch] 스프링 배치 강좌 1. 프로그래밍의 꽃. 스프링 배치 Hello World!
시작하기에 앞서 스프링 배치 Intro를 읽지 않았다면 먼저 보고 오자. 이전 글: [Spring Batch] Intro - 스프링 배치 기본 개념 익히기 새로운 것을 배울때 Hello World를 빼먹을수 없다. 초 심플한 배치 job을 만들어보자. 프로젝트 만들기 STS (Spring Tools Suite) 기준으로 작성되었다. STS 다운로드: https://spring.io/tools File -> New -> Maven Project -> Create a simple project (skip archetype selection) 클릭. 다음과 같이 입력. Group Id: com.fwantastic Artifact Id: spring-batch-example Version: 0.0.1-SNAPS..
2021.04.14 -
[퍼옴] [Spring Batch] Intro - 스프링 배치 기본 개념 익히기
스프링 배치 강좌 목록: https://www.fwantastic.com/p/spring-batch.html 스프링 배치는 스프링을 만든 Pivotal의 프로젝트 중 하나이다. 미국에 Accenture (이제는 아련한 나의 전 직장...) 라는 아주 큰 규모의 컨설팅 회사가 정부 프로젝트를 하며 얻은 비즈니스 로직과 노하우에 Pivotal이 가진 기술로 협력하여 만들어낸 결과물이다. 배치 작업을 위해 만들어진 프레임워크으로 가볍고, 빠르고, 실행 도중 문제가 생기면 그 지점부터 재시작할 수 있다는 점이다 (Restartability). 스프링 배치를 하려면 스프링을 알고있어야 하기 때문에 모른다면 스프링을 먼저 공부하는것을 추천한다. 스프링 오피셜 가이드: https://spring.io/guides 스..
2021.04.14 -
Spring Boot 개념
처음 시작하는 수준에서, 문서만 보고 이렇게 구현하고 개념을 잡는데 까지 약 20여분이 걸렸으니, node.js나 python등의 여타 모던웹 언어와 크게 진입은 다르지 않다. 실행도, 복잡한 톰캣 설치나 배포 등이 필요 없이, jar 파일을 java -jar로 실행만 하면 spring boot가 tomcat이나 jetty를 임베드한 상태로 기동이 된다. 마치 node.js에서 코드 작성하고, node 소스.js를 기동하면 되는 것과 같은 편리함이다. 기존의 복잡한 XML 설정도 과감하게 생략할 수 있으며, 운영에서 필요한 모니터링과 같은 API등을 Actuator라는 이름으로 제공한다. (Hearbeat 체크, 모니터링 메트릭스 API등) 무엇보다 장점은, 기존의 자바와 스프링 프레임웍에 제공하는 프레..
2021.04.14 -
[퍼옴] Spring Batch 주요 개념
Job 하나의 배치 작업을 정의. 예를 들어 "API 서버의 사용로그 테이블의 데이타를 로그 분석 시스템으로 옮기는 배치" Job Instance 배치가 실제 실행되면, 각각의 실행을 Instance라고 한다. 예를 들어 Batch Job이 매주 한번씩 수행된다고 할때, 각각의 수행되는 Batch Job을 Batch Instance라고 한다. Job Execution 배치가 실행될때, 각 배치의 실행시, 실제 수행된 Execution을 정의한다. 예를 들어 Batch Job이 월요일 오전에 수행되었을때, 첫번째 실패하고, 두번째에 Retry에 의해 성공되었다면, 이 각각은 다른 Job Execution이 되고, 같은 작업을 시도하였기 때문에, 같은 Job Instance가 된다. Job Parameter..
2021.04.14 -
07. spring batch - 배치 처리의 실제 샘플 (chunk: db 읽기)
가. 목표 해당 배치의 목표는 DB 테이블에서 데이터를 읽어 들여, 다른 테이블에 값을 insert 한다. ItemReader에서 데이터를 읽어 들여, ItemWriter로 insert할 예정이다. 사실 ItemProcessor를 사용하여 데이터 변환한 후 ItemWriter로 전달하는 샘플이 실제 사용에 가까우나, 일단 생략한다. 나. 배치 처리 설정 샘플 : /job-context.xml ㄱ. sqlMapClient 이 클래스는 iBatis를 사용하기 위한 클래스. 특별히 SpringBatch 전용 클래스는 아니다. ㄴ. IbatisPagingItemReader 설정 상 1페이지 10000 레코드를 sql문으로 select 해서 추출한 10000 레코드를 메모리에 전개. 전개 후 1 레코드 씩 ite..
2021.04.14 -
06. spring batch - 스프링 배치 처리 샘플 (chunk 처리 : 파일 읽기)
가. 목표 SpringBatch에서 제공하는 소스를 가능한 이용해서 기능을 구현했다. ( 2012.03.17 ) Java 1.6이상 Spring 4.2.4 SpringSecurity 3.1 SpringBatch 3.0.7 SpringModules 0.9 ⇒ deprecated Struts 1.3.10 Easy Mock 3.0 JUnit 4.4 csv 파일을 읽어서 다른 파일에 쓰기 샘플. 이때 열을 바꿔서 출력. - SpringBatch로 읽어들인 파일 데이터를 FieldSet이라는 클래스에 보존한다. - FieldSet 에서 POJO 클래스로 값을 옮겨 적는 것을 매핑한다라고 한다. 나. 스프링배치의 기반에 관한 설정 /back-context.xml 다. 설정파일 샘플 /job-context.xml 설..
2021.04.13