๐ ์๋น์ค ๋ด์ฉ
Tworld ๋ฉ์ธ ์ ์ฐ ์์คํ
(Swing)๊ณผ Sync๊ฐ ๋ง์ง ์๋ 0 ์๋น์ค DB์ ํ์ ๋ ์ฝ๋๋ค์ ์
๋ฐ์ดํธ ํ๋ ๋ฐฐ์น ํ๋ก๊ทธ๋จ ์
๋๋ค.
๐ฅ ๊ฐ๋ฐ ๋ด์ฉ(Fact)
- 0 ์๋น์ค DB์์ SVC_FLAG ์ปฌ๋ผ ๊ฐ์ด D1์ธ ํ์ ๋ ์ฝ๋๋ฅผ ์กฐํํ๋ ๊ธฐ๋ฅ
- Tworld ๋ฉ์ธ ์ ์ฐ ์์คํ
(์ดํ Swing) Interface์ ํ์ ์๋น์ค ๊ด๋ฆฌ ๋ฒํธ๋ฅผ ํตํด ํ์ ์๋น์ค ์ ๋ณด ์กฐํํ๋ ๊ธฐ๋ฅ
- Swing ์ธํฐํ์ด์ค ์๋ต ๊ฐ์ฒด์ ์ ํ๋ฒํธ์ 0 ์๋น์ค DB ๋ ์ฝ๋์ ์ ํ๋ฒํธ๋ฅผ ๋น๊ตํ์ฌ ๋ค๋ฅด๋ค๋ฉด Swing ๊ธฐ์ค์ผ๋ก ์
๋ฐ์ดํธ ํ๋ ๊ธฐ๋ฅ
- ๋ฐฐ์น ์์
์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ๋ก๊ทธ๋ก ๋จ๊ธฐ๋ ๊ธฐ๋ฅ
- ExecutorService ์ธํฐํ์ด์ค๋ฅผ ํ์ฉํ ๋ฉํฐ ์ค๋ ๋ฉ ๊ธฐ๋ฅ (Swing ์ธํฐํ์ด์ค ์กฐํ)
- Swing ์์คํ
์ ๋ถํ๋ฅผ ์ค์ด๊ธฐ ์ํด TPS ์กฐ์ (Thread.sleep)
- Job parameter(pDate) ์ ๊ฐ์ ๋ฐ๋ผ Crontab ์ผ๋ก ์ค์ผ์ค๋งํ ์๊ฐ ์ด์ธ์๋ ํน์ ํ ๋ ์ง๋ฅผ ๊ธฐ์ค์ผ๋ก ํ ๋ฐฐ์น ์์
์ ์คํํ ์ ์๋ ๊ธฐ๋ฅ
- Job parameter(mig) ์ ๊ฐ์ ๋ฐ๋ผ ๋ ์ง์ ์๊ด ์์ด ์ ์ฒด ๋ ์ฝ๋์ ๋ํ ๋ฐฐ์น ์์
์ ์คํํ ์ ์๋ ๊ธฐ๋ฅ
๐ก ๋ฐฐ์ด ์ (Lesson)
- ์๋ฐ์ ๋ฉํฐ ์ค๋ ๋ฉ์ ์์ฝ๊ฒ ์ด์ฉํ ์ ์๋ ์ธํฐํ์ด์ค ExecutorService์ ์กด์ฌ ๋ฐ ์ฌ์ฉ๋ฒ
- Executable ๊ณผ Runnable ์ธํฐํ์ด์ค์ ์กด์ฌ์ ์ฐจ์ด์
- try - catch ๊ตฌ์กฐ๋ฅผ ์ด์ฉํ ์๋ฌ ํธ๋ค๋ง์ ์ฅ/๋จ์
- ๊ฐ๋ฐ ์ด์ Pseudo_code ( ์์ฌ ์ฝ๋ ) ์์ฑ์ ์ค์์ฑ