Spring Batch๋ ๋ก๊น /์ถ์ , ํธ๋์ญ์ ๊ด๋ฆฌ, ์์ ์ฒ๋ฆฌ ํต๊ณ, ์์ ๋ค์ ์์, ๊ฑด๋๋ฐ๊ธฐ ๋ฐ ๋ฆฌ์์ค ๊ด๋ฆฌ๋ฅผ ํฌํจํ์ฌ ๋๋์ ๋ ์ฝ๋๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐ ํ์์ ์ธ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ํ๋ ์์ํฌ๋ฅผ ์๋ฏธํ๋ค.
๋ชฉ์ | ์ค๋ช |
---|---|
๋๋์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ | ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ๋ก๊ทธ ํ์ผ, CSV ํ์ผ ๋ฑ์์ '๋ฐ์ดํฐ ์ถ์ถ ๋ฐ ์ฒ๋ฆฌ'๋ฅผ ์ํด ์ฌ์ฉ์ด ๋๋ค. |
์๋ํ๋ ์์ ์ฒ๋ฆฌ | ์ค์ผ์ค๋ฌ๋ฅผ ์ด์ฉํ์ฌ ์ฃผ๊ธฐ์ ์ผ๋ก '๋ฐ๋ณต๋๋ ์์ '์ ์๋์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํด์ ์ฌ์ฉ๋๋ค. |
๋ถ์ฐ ์ฒ๋ฆฌ | ์ฌ๋ฌ ์๋ฒ์์ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค. |
์ฌ์๋ ๋ฐ ๋ก๊น | ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ค ์ค๋ฅ ๋ฐ์ ์ ์๋ ์ฌ์๋ ๋ฐ ๋ก๊ธฐ ๊ธฐ๋ฅ์ ์ง์ํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค. |
๋ฐ์ดํฐ ๋ถ์ | ๋ฐ์ดํฐ ๋ง์ด๊ทธ๋ ์ด์ , ๋ฐฑ์ ๋ฐ ๋ณต์, ๋ฐ์ดํฐ ๋ถ์ ๋ฑ ๋ค์ํ ์ฉ๋์ ์ฌ์ฉ๋๋ค. |
์ฃผ์ ๊ธฐ๋ฅ | ์ค๋ช |
---|---|
Job๊ณผ Step์ ์ด์ฉํ ๋ฐฐ์น ํ๋ก์ธ์ค ๊ตฌํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. | ๋ฐฐ์น ์ฒ๋ฆฌ์ ๋จ์ ์์ (Job)๊ณผ ์์ ๋จ์ ์์ (Step)์ ์ด์ฉํ์ฌ ๋ฐฐ์น ํ๋ก์ธ์ค๋ฅผ ๊ตฌํํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. |
Chunk ์งํฅ ์ฒ๋ฆฌ ๋ฐฉ์์ ํตํ ๋์ฉ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ง์ํ๋ค. | Chunk ๋จ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ์ฌ ๋์ฉ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. |
Quartz, Cron ๋ฑ์ ์ค์ผ์ฅด๋ฌ๋ฅผ ์ด์ฉํ ๋ฐฐ์น ์์ ์ค์ผ์ค๋ง์ ์ ๊ณตํ๋ค. | ์ค์ผ์ค๋ฌ๋ฅผ ์ด์ฉํ์ฌ ๋ฐฐ์น ์์ ์ ์ฃผ๊ธฐ์ ์ผ๋ก ์คํํ๋๋ก ์ค์ผ์ค๋ง ์ ๊ณตํ๋ค. |
Batch ์์ ์ ๋ํ ๋ก๊น ๊ณผ ์์ธ ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. | Batch ์์ ์ํ ์ค ๋ก๊น ๊ณผ ์์ธ ์ฒ๋ฆฌ๋ฅผ ์ง์ํ์ฌ ์์ ์ ์ธ ๋ฐฐ์น ์์ ์ ์ ๊ณตํ๋ค. |
Chunk๋ ์ฌ๋ฌ ๊ฐ์ ์์ดํ
์ ๋ฌถ์ ํ๋์ ๋ฉ์ด๋ฆฌ, ๋ธ๋ก์ ์๋ฏธํ๋ค.
ํ๋ฒ์ ํ๋์ฉ ์์ดํ
์ ์
๋ ฅ ๋ฐ์ Chunk ๋จ์์ ๋ฉ์ด๋ฆฌ๋ก ๋ง๋ ํ Chunk ๋จ์๋ก ํธ๋์ญ์
์ ์ฒ๋ฆฌํ๋ค.
Job์ด๋ ํ๋ ์ด์์ Step์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ '๋ฐฐ์น ์ฒ๋ฆฌ์ ์ต์์ ๋จ์'๋ฅผ ์๋ฏธํ๋ค.
์ฉ์ด | ์ค๋ช |
---|---|
Job | ๋ฐฐ์น ์ฒ๋ฆฌ์ โ๋จ์ ์์ โ์ ์๋ฏธํ๋ค. |
JobInstance | ํ๋์ Job ์คํ์ ๋ํ๋ด๋ โ์ธ์คํด์คโ๋ฅผ ์๋ฏธํ๋ค. |
JobParameters | Job ์คํ ์ ํ์ํ โํ๋ผ๋ฏธํฐโ๋ฅผ ์๋ฏธํ๋ค. |
JobRepository | Job ์คํ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ โ์ ์ฅ์โ๋ฅผ ์๋ฏธํ๋ค. |
JobLauncher | Job์ ์คํํ๋ ์ธํฐํ์ด์ค๋ฅผ ์๋ฏธํ๋ค. |
JobExecution | Job ์คํ ์ ๋ณด๋ฅผ ๋ํ๋ด๋ ์ธ์คํด์ค๋ฅผ ์๋ฏธํ๋ค. |
JobExecutionListener | Job ์คํ ์ ํ๋ก ์ํํ ์์ ์ ์ ์ํ๋ ์ธํฐํ์ด์ค๋ฅผ ์๋ฏธํ๋ค. |
Step์ด๋ ์ค์ ๋ฐฐ์น ์ฒ๋ฆฌ๋ฅผ ์ํํ๋ ๋จ์๋ฅผ ์๋ฏธํ๋ฉฐ Spring Batch Job์์๋ ํ ๊ฐ ์ด์์ Step์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
์ฉ์ด | ์ค๋ช |
---|---|
Step | Job์ ๊ตฌ์ฑํ๋ ์์ ๋จ์ ์์ ์ ์๋ฏธํ๋ค. |
ItemReader | ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ค๋ ์ธํฐํ์ด์ค๋ฅผ ์๋ฏธํ๋ค. |
ItemProcessor | ์ฝ์ด์จ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์ธํฐํ์ด์ค๋ฅผ ์๋ฏธํ๋ค. |
ItemWriter | ์ฒ๋ฆฌํ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํ๋ ์ธํฐํ์ด์ค๋ฅผ ์๋ฏธํ๋ค. |
ExecutionContext | Step ์คํ ์ค ํ์ํ ์ปจํ ์คํธ ์ ๋ณด๋ฅผ ์๋ฏธํ๋ค. |
StepExecution | Step ์คํ ์ ๋ณด๋ฅผ ๋ํ๋ด๋ ์ธ์คํด์ค๋ฅผ ์๋ฏธํ๋ค. |
StepExecutionListner | Step ์คํ ์ ํ๋ก ์ํํ ์์ ์ ์ ์ํ๋ ์ธํฐํ์ด์ค๋ฅผ ์๋ฏธํ๋ค. |