• Stars
    star
    551
  • Rank 77,983 (Top 2 %)
  • Language
    Java
  • Created almost 6 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

내가 만드는 Spring Batch In Action

spring-batch-in-action

Spring Batch In Action이 2011년 이후 개정판이 나오지도 않고, 한글 번역판도 없고, 국내 Spring Batch 글 대부분이 튜토리얼이거나 공식문서 번역본이라 답답해서 시작
커머스나 기타 서비스 시스템이 커질수록 배치 작업이 늘어나는데, 주먹구구식으로 Spring Batch 사용하는 경우가 많음
Spring MVC는 자료가 정말 많지만 Batch는 너무 없어서 정리도 할겸 시작.

목차

예정

  • Simple Batch Job
    • 잡실행 결과 리뷰
    • Job, JobInstance, JobExecution 등등 BATCH_JOB 스키마
      • BatchExecution 테이블 내용물 리뷰
    • BatchStatus 소개
  • Batch Job Flow
    • Step
    • Flow
    • split & mutli Thread
    • decide
      • JobExecutionDecider를 통한 Step 분기처리
  • Batch Step 소개
    • chunk 지향
    • chunk 지향을 코드로
    • reader processor writer 간략 소개
  • JobParameter
    • @JobScope, @StepScope, @Value
    • Build => batch.jar 를 실행 => console에 출력되는 파라미터 확인
    • Job Parameter 중복으로 오류나는것도 확인
    • 테스트 코드로 build 없이 수행하는것 확인
    • StepScope
    • JobScope
  • Reader
    • custom reader 생성시 read() 메소드 오버라이딩 주의 사항
      • this.data.hasNext() 가 false일 경우 무조건 null 반환하도록
      • null이 반환안되면 무한 읽기 시작됨
    • DB & JPA
      • JpaItemReader
      • JpaPagingItemReader
      • IbatisReader는 Spring Batch 4.0에 오면서 삭제됨
      • 같은 테이블을 조회 & 수정해야 한다면? (참고)
    • File
      • FlatFileItemReader
    • 절대 JpaRepository로 repository 커스텀하게 쓰지말것
    • Read Multiple DataSources
    • Item Stream Interface
      • ItemStream?
      • 페이징과의 차이점
      • JpaCursorItemReader
    • QuerydslPagingItemReader & QuerydslCursorItemReader
  • Writer
    • Simple Writer 소개
      • chunk 차이
      • chunk와 page size 다를때 주의사항 소개
    • DB & JPA
      • JDBC writer
      • JPA Writer
    • Write Multiple DataSources
  • Processor
    • Simple Processor
    • Processor에서 Filter 처리
    • Processor에서 Validate
      • Validator
      • Validator.setFilter(true) 로 실패시 건너가기
    • Composite
      • 여러개의 Processor를 조합하고싶을때
      • CompositeItemProcessor
      • List<ItemProcessor<Pay,Pay>> delegates
    • Processor는 Java8의 Stream 과 유사한 개념으로 보면 좋음
  • Transactions
  • Error
    • Restart
      • restartable=false?
    • Retry
    • Skip
    • Listeners
  • runid
  • 테스트 코드
  • Multi DataSource
    • Multi Datasource
    • Multi EntityManager
    • Multi TxManaer
  • Batch 스케줄링은 어떻게? (젠킨스)

More Repositories

1

junior-recruit-scheduler

주니어 개발자 채용 정보
JavaScript
11,009
star
2

freelec-springboot2-webservice

Java
1,065
star
3

blog-code

http://jojoldu.tistory.com/ 에서 제공하는 예제 code
Java
642
star
4

springboot-webservice

스프링부트로 웹서비스 구축하기 시리즈
Java
569
star
5

review

세미나 및 책, 강연등의 후기
HTML
435
star
6

markdown-tistory

작성된 마크다운의 내용과 이미지를 본인 티스토리에 업로드하는 프로젝트
JavaScript
263
star
7

translator

IntelliJ Translate Plugin
Java
204
star
8

infra-summary

웹 개발자를 위한 서버/인프라 정리
134
star
9

spring-batch-querydsl

스프링배치와 QuerydslPagingItemReader
Java
127
star
10

oop-java

객체지향에 집중하기 위한 순수 Java 프로젝트
Java
80
star
11

monorepo-nestjs-typeorm

Monorepo by Nestjs & TypeORM
TypeScript
65
star
12

nodejs-unit-test

NodeJS Unit Test
TypeScript
61
star
13

spring-boot-aws-mock

Queue, Redis, Etc (Aws Service Mock Library for Spring Boot)
Java
57
star
14

springboot-jenkins-docker-slack

스프링부트 + 젠킨스 + 깃허브 + 슬랙
Java
47
star
15

point

SQS를 이용한 비동기 포인트 시스템
Java
39
star
16

postgresql-in-action

PostgreSQL Tips
JavaScript
38
star
17

intellij-development

IntelliJ IDEA로만 개발 하기
Java
36
star
18

jojoldu.github.io

이력서
HTML
36
star
19

fastcampus-sql-tunning

패스트캠퍼스 - 개발자를 위한 SQL 튜닝 캠프
33
star
20

fastcampus-java

Java
32
star
21

spring-boot-redis-tip

실습과 코드로 정리하는 레디스 팁
Java
32
star
22

my-cli

나만의 커맨드라인 스크립트 만들기 튜토리얼
JavaScript
26
star
23

ts-api-template

TypeScript
25
star
24

vacation-homework

방학 숙제용
TypeScript
24
star
25

jenkins-pipeline

젠킨스 파이프라인 정리
Java
19
star
26

gh-in-action

Github Action Tips, Examples
TypeScript
17
star
27

spring-boot-kotlin-test-in-action

Kotlin & Spring Boot Test Code Example
Kotlin
17
star
28

springboot-deploy

SpringBoot & AWS Auto Scaling & Code Pipeline
Java
16
star
29

intellij-idea-tutorials

IntelliJ 튜토리얼
15
star
30

dev-beginner-group

초보개발자모임 챗봇 & 메일구독
JavaScript
14
star
31

devbeginner

초보개발자모임
HTML
13
star
32

kotlin-in-action

Kotlin Example
Kotlin
13
star
33

react-unit-test

TypeScript
13
star
34

md-tistory

markdown uploader for tistory (by type stack)
TypeScript
12
star
35

blog-comments

블로그에 utteranc 사용하기
Shell
12
star
36

spring-boot-kotlin-querydsl

Kotlin
11
star
37

jira-in-action

Jira 사용팁
11
star
38

springboot-sqs-example

spring boot & aws sqs example
Java
10
star
39

datagrip-in-action

JetBrains DataGrip Tips
10
star
40

fc-spring-boot

패스트캠퍼스 - 스프링부트를 활용한 쇼핑몰 프로젝트 CAMP
Java
10
star
41

aws-lambda-telegram-travisci

AWS로 서버없이 구축하는 텔레그램 Bot
JavaScript
9
star
42

fastcampus-devops-cloud-platform

패스트캠퍼스 DevOps로 활용하는 클라우드 플랫폼 강의 정리
9
star
43

woowa-tech-2019-spring-batch

Java
9
star
44

linux-thread

Java
9
star
45

income-bot

수익 알람 Bot
Vue
9
star
46

springboot-rest-docs-spock

spring rest docs & spock & rest assured & gradle multi module
HTML
8
star
47

fastcampus-vuejs

패스트캠퍼스 강의 정리
8
star
48

fastcampus-aws-workshop

패스트캠퍼스 AWS 운영 서버 관리 마스터 워크샵
8
star
49

nestjs-template-engine

NestJS + Handlebars
TypeScript
7
star
50

spring-batch-integration-in-action

spring batch integration 예제
Java
7
star
51

devbeginner-news

빠르게 만들어보는 뉴스피드
CSS
7
star
52

gradle-travisci-coverall

Gradle 프로젝트 Travis CI & Coverall 연동
Java
6
star
53

jest-in-action

TypeScript
6
star
54

wikibook-spring-batch

예제 코드
Java
6
star
55

nestjs-in-action

TypeScript
6
star
56

aws-beanstalk-tunning

AWS Beanstalk 성능 튜닝 시리즈
Java
5
star
57

clean-code-tdd-kotlin

Kotlin
5
star
58

stock-calculator

시리즈라운드별 지분/환산 금액 계산기
HTML
5
star
59

refactoring2-ts

Refactoring 2 with Typescript & Jest
TypeScript
5
star
60

spring-boot-multi-datasource

Spring Boot MVC/Batch Multi Datasource
Java
4
star
61

jojoldu

4
star
62

fleet-in-action

Fleet (JetBrains New Editor) Tutorial
4
star
63

spring-boot-aws

Spring Boot & AWS Integration Example
Java
4
star
64

intellij-git-tip

IntelliJ Git 팁
Java
4
star
65

udemy-react-query-spa

TypeScript
3
star
66

codesoom-react

3
star
67

teamcity-in-action

팀시티 (Teamcity) 팁 모음
Shell
3
star
68

tistory-ppm

티스토리 월별 글 발행수 추적기
JavaScript
3
star
69

ecs-docker-compose-nodejs

Typescript & Docker Compose & AWS ECS
TypeScript
3
star
70

spring-batch-benchmark

Spring Batch Performance BenchMark
Java
3
star
71

next-step

박재성님의 next step 교재 스터디
Java
3
star
72

begin-docker

신림프로그래머 도커 스터디
Java
3
star
73

bns

Bitly And Sns
Java
3
star
74

domain-oriented-observability

TypeScript
3
star
75

spring-boot-postgresql

Java
3
star
76

lerna-in-action

TypeScript
3
star
77

jenkins-beanstalk-multi-module

AWS Beanstalk + EC2 Jenkins + Gradle Multi Module
Java
3
star
78

chatgpt-in-action

chatGPT 테스트
TypeScript
2
star
79

vectordb-embedding

TypeScript
2
star
80

ulysses-in-action

2
star
81

kotlin-mongodb

Kotlin
2
star
82

koscom-springboot-aws

Java
2
star
83

gradle-multi-module-coveralls

Java
2
star
84

pinpoint-node-in-action

pinpoint node agent Test
JavaScript
2
star
85

java-note-professionals

Java
2
star
86

next-step-review

Next Step 코드리뷰 참고용
Java
2
star
87

tuto-handlebar

HTML
2
star
88

intellij-settings

intellij settings sync
Java
2
star
89

ngrinder-in-action

Ngrinder (Performance Testing Tools)
Shell
2
star
90

node-performance-in-action

TypeScript
2
star
91

xunit-tdd-ts

xUnit Test Framework Building by TypeScript
TypeScript
2
star
92

lambda-in-action

JavaScript
2
star
93

ddd-java

Domain Driven Design
Java
1
star
94

git-flow-example

사내 깃플로우 예제
Java
1
star
95

resume

1
star
96

ansible-in-action

내가 만드는 ansible in Action
1
star
97

intellij-task-example

IntelliJ와 이슈관리 시스템 연동 연습 자장소
Java
1
star
98

javascript-study

JavaScript
1
star
99

jenkins-rest-api

Jenkins Java Rest API
Shell
1
star
100

markdown-tistory-vs-plugin

markdown-tistory Visual Studio Code 플러그인
JavaScript
1
star