๐ spring-batch 8
โ๏ธ JobExecutionListener
- ์ธํฐํ์ด์ค๋ก ๊ตฌํ
- implements JobExecutionListner
- ๊ตฌํ ๋ฉ์๋
- beforeJob(JobExecution)
- afterJob(JobExecution)
- ์ด๋ ธํ ์ด์ ๊ธฐ๋ฐ ๊ตฌํ
- @BeforeJob
- @AfterJob
- ์ธํฐํ์ด์ค ๋ฐฉ์๊ณผ ๋์ผํ๊ฒ
JobExecution์ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์
โ๏ธ ์ ์ํ Job ๋ฆฌ์ค๋ ๋ฑ๋ก
jbf.get("testJob")
.incrementer()
.start(testStep())
.listener(listener1.class)
.listener(listener2.class)
.build();
โ๏ธ StepExecutionListener
- ์ด๋ ธํ ์ด์ ๊ธฐ๋ฐ ๊ตฌํ
- @BeforeStep
- @AfterStep
- ํ๋ผ๋ฏธํฐ๋ก StepExecution์ ๋ฐ๋๋ค.
โ๏ธ ์ ์ํ Step ๋ฆฌ์ค๋ ๋ฑ๋ก
- Job ๋ฆฌ์ค๋ ๋ฑ๋ก๊ณผ ๋์ผ
-
sbf.get("testStep") ... ... .listener(listener3.class) .build()
โ๏ธ Skip
step ์ํ ์ค ๋ฐ์ํ Exception์ ๋ํ ์ฒ๋ฆฌ๋ฅผ ์ํํ๋ค.
ex)
skip(NotFoundNameException.class), skipLimit(3)
- NotFoundNameException ๋ฐ์ 3๋ฒ๊น์ง skip ํ๋ค.
(์ค์ ํ Exception์ n๋ฒ๊น์ง ํ์ฉ) - NotFoundNameException ๋ฐ์ 4๋ฒ๋ถํฐ๋ ๋ฐฐ์น์์
์ ์ค๋จํ๋ค.
(ํด๋น Step์ ์ํ๋ ์คํจ๋ก ๋!) - ์๋ฌ ๋ฐ์ ์ ๊น์ง ๋ฐ์ดํฐ๋ ๋ชจ๋ ์ฒ๋ฆฌ๋ ์ํ๋ก ๋จ๋๋ค.
(์๋ฌ ๋ฐ์์ ๋ฐ์ดํฐ๋ ๋กค๋ฐฑ๋์ง ์๊ณ ์ ์์ฒ๋ฆฌ ๋จ)
Step์ chunk 1๊ฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ํธ๋์ญ์ ์ด ๋์ํ๋ค.
ex) items=100, chunk=10
- 10๋ฒ์งธ chunk์์ Exception์ด ๋ฐ์ํ ๊ฒฝ์ฐ 1-9๊น์ง๋ ์ ์์ฒ๋ฆฌ(์ ์ฅ) ํ Job๊ณผ Step์ FAILED๋ก ์ฒ๋ฆฌํ๋ค.
- ๋ฐฐ์น ์ฌ์คํ์ chunk 10๋ถํฐ ๋ค์ ์ฒ๋ฆฌํ ์ ์๋๋ก ๋ฐฐ์น๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค. (์คํจ์ฒ๋ฆฌ๋ Job์ ์ฌ์คํํ ๊ฒฝ์ฐ)
โ๏ธ Skip ์์
- Person.name์ด empty์ธ ๊ฒฝ์ฐ NotFoundNameException
- NotFoundNameException 3๋ฒ ์ด์ ๋ฐ์ํ ๊ฒฝ์ฐ step ์คํจ์ฒ๋ฆฌ
์ง์ ํ ์์ธ๋ฐ์์ ๋ํ faultTolerant ํ์๋ฅผ ์ง์ ํ๋ค. (skipLimit)
โ๏ธ faultTolerant
StepBuilderFactory().get("testStep")
.faultTolerant()
.skip(NotFoundNameException.class)
.skilLimit(3)
.build()
๐ ์๊ฐ์ธ์ฆ

ํจ์คํธ์บ ํผ์ค [์ง์ฅ์ธ ์ค๋ฌด๊ต์ก]
ํ๋ก๊ทธ๋๋ฐ, ์์ํธ์ง, UX/UI, ๋ง์ผํ , ๋ฐ์ดํฐ ๋ถ์, ์์ ๊ฐ์, The RED, ๊ตญ๋น์ง์, ๊ธฐ์ ๊ต์ก, ์๋น์ค ์ ๊ณต.
fastcampus.co.kr
๋ณธ ํฌ์คํ ์ ํจ์คํธ์บ ํผ์ค ํ๊ธ ์ฑ๋ฆฐ์ง ์ฐธ์ฌ๋ฅผ ์ํด ์์ฑ๋์์ต๋๋ค
'Spring Batch' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| ํจ์คํธ์บ ํผ์ค ์ฑ๋ฆฐ์ง 28์ผ์ฐจ - Spring Batch 10 (0) | 2021.10.03 |
|---|---|
| ํจ์คํธ์บ ํผ์ค ์ฑ๋ฆฐ์ง 27์ผ์ฐจ - Spring Batch 9 (0) | 2021.10.02 |
| ํจ์คํธ์บ ํผ์ค ์ฑ๋ฆฐ์ง 25์ผ์ฐจ - Spring Batch 7 (0) | 2021.09.30 |
| ํจ์คํธ์บ ํผ์ค ์ฑ๋ฆฐ์ง 24์ผ์ฐจ - Spring Batch 6 (0) | 2021.09.29 |
| ํจ์คํธ์บ ํผ์ค ์ฑ๋ฆฐ์ง 23์ผ์ฐจ - Spring Batch 5 (0) | 2021.09.28 |