--
Google ๊ทธ๋ฃน์ค 'Korea Spring User Group' ๊ทธ๋ฃน์ ๊ฐ์ ํ์ผ๋ฏ๋ก ๋ณธ ๋ฉ์ผ์ด ์ ์ก๋์์ต๋๋ค.
์ด ๊ทธ๋ฃน์ ๊ฒ์ํ๋ ค๋ฉด ks...@googlegroups.com(์ผ)๋ก ์ด๋ฉ์ผ์ ๋ณด๋ด์ธ์.
๊ทธ๋ฃน์์ ํํดํ๋ ค๋ฉด ksug+uns...@googlegroups.com๋ก ์ด๋ฉ์ผ์ ๋ณด๋ด์ฃผ์ธ์.
๋ ๋ง์ ์ต์ ์ ๋ณด๋ ค๋ฉด http://groups.google.com/group/ksug?hl=ko์์ ๊ทธ๋ฃน์ ๋ฐฉ๋ฌธํ์ธ์.
1. ์คํจํ ๊ฑด์ ๋ฐ๋ก Listener๋ฅผ ์ด์ฉํด์ ํน์ ํด๋์ ์ด๋ค๋์ง ํด์ ๋ชจ์๋๊ณ , ๊ทธ๊ฒ์ ์ฒ๋ฆฌํ๋ job์ ๋ฐ๋ก ์คํ์ํค๋ ๊ฒ์ด ๋์๋ฏํฉ๋๋ค.ItemWriteListener.onWriteError ๊ฐ์ ๊ฒ์ ์ด์ฉํด์ ์คํจํ ๊ฑด๋ง ๋ฐ๋ก ์ด๋ฒคํธ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์์ต๋๋ค. ๊ทธ ์์์ ๋ณ๋์ ๋๋ ํ ๋ฆฌ์ ์ด๋ค๋์งDB์ ํ์ํ๋ค๋์งํด์(๊ฐ์ด ๋กค๋ฐฑ๋์ง ์๊ฒ ํธ๋์ญ์ ์ฒ๋ฆฌ ์ฃผ์ํด์ผ ํฉ๋๋ค.) ํ๋์๊ฐ ํ์ ๋ณ๋์ ์ค์ผ๋ทธ๋ก ์คํจ๋ก ๋ถ๋ฅ๋ ๊ฒ๋ง ๋ค์ ์คํ์ํฌ ์ ์์ต๋๋ค.ย
2. ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ ์๊ฐํด๋ณผ์ ์์ต๋๋ค. ย ItemProcessor๋ฅผ ์ด์ฉํด์ ์ฌ๋ฌ๊ฐ์ ItemReader๋ฅผ ๊ฒฐํฉํด์ ๋ถ๋ชจ,์์๊ฐ์ ์ฒ๋ฆฌ๋ฅผ ํด ์ค์๋ ์์ต๋๋ค.ย DB์ ๋ถ๋ชจ-์์๊ด๊ณ๊ฐ ์๋ ์ํฐํฐ๋ฅผ XML๋ก ์ฎ๊ธฐ๋ ๊ฒฝ์ฐ์ N+1์ฟผ๋ฆฌ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์๋๋ก 2๊ฐ์ JdbcCursorItemReader๋ฅผ ์ด์ฉํด์ย ํค์๋๋ก ์ ๋ ฌํด์ DB์์ ์กฐํํด์ค๋ค์์ ItemProcessor์์์ ์ฎ์ด์ XMl์ ๋ง๋๋ ๊ฒ๋ ํด๋ณธ์ ์ด ์์ต๋๋ค. (์ด ์์ ์ 1.x๋์์ ํด์ ๊ทธ๋๋ DelegateItemReader์ธ๊ฐ.. ๊ทธ๊ฑธย ์ผ์์ง์;)๊ทธ๋ฆฌ๊ณ ๋ณดํต์ ExcecutionContext๋ฅผ ์ด์ฉํด์ ๊ฐ์ step์ด๋ job์์์ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๊ณ , ItemListener์ ItemProcessor ๋ฑ์ ์ธํฐํ์ด์ค๋ฅผ ๋์์ ๊ตฌํํ๋ ํด๋์ค๋ฅผ ๋ง๋ค์ด์ ๊ฐ์ ํด๋์ค์ ๋ฉค๋ฒ๋ณ์๋ก ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ ์๋ ์์ต๋๋ค. (์ด ๊ฒฝ์ฐ์๋ ๊ฐ์ฒด๊ฐ ๊ณ์ ์์ด์ง ์๊ฒ ๋ฉ๋ชจ๋ฆฌ ๋ฆญ์ ์ฃผ์ํด์ผ๊ฒ ์ฃ )