๐Ÿ“Œย 6์ฃผ์ฐจ 9์žฅ ์ค‘๊ฐ„์ ๊ฒ€

โœ…ย 9.1 ์ž์ฒด ์ ๊ฒ€ ์š”๊ตฌ์‚ฌํ•ญ(ํ•„์ˆ˜)

1. ํ†ฐ์บฃ ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ์˜ ์ดˆ๊ธฐํ™” ๊ณผ์ •์ด ์ง„ํ–‰๋œ๋‹ค. ํ˜„์žฌ ์†Œ์Šค์ฝ”๋“œ์—์„œ ์ดˆ๊ธฐํ™”๋˜๋Š” ๊ณผ์ •์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๋ผ

์š”์•ฝํ•˜๋ฉด ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๋Š” ์„œ๋ธ”๋ฆฟ์˜ ์‹คํ–‰์„ ๊ด€๋ฆฌํ•˜๋Š” ์ „์ฒด์ ์ธ ํ™˜๊ฒฝ์ธ ๋ฐ˜๋ฉด ์„œ๋ธ”๋ฆฟ ์ปจํ…์ŠคํŠธ๋Š” ํŠน์ • ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‚˜ํƒ€๋‚ด๋Š” ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ ๋‚ด์˜ ๊ฐœ์ฒด์ด๋ฉฐ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์ •๋ณด์™€ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

ServletContext ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ตฌํ˜„์ฒด๋กœ ApplicationContext๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ServletContext์˜ ์กฐ๊ธˆ ๋” ์ƒ์œ„ ๊ฐœ๋…์˜ Context์˜ ๊ตฌํ˜„์ฒด๋กœ StandardContext๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. StandardContext์—์„œ๋Š” startInternal()๋ฉ”์†Œ๋“œ๋Š” ๋ฆฌ์Šค๋„ˆ ๋“ฑ๋ก โ†’ ํ•„ํ„ฐ ์‹œ์ž‘ โ†’ loadOnStartUp ์„œ๋ธ”๋ฆฟ์„ ์ดˆ๊ธฐํ™” ํ•ฉ๋‹ˆ๋‹ค. (๋”๋ถˆ์–ด ServletContext๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์—ญํ• ๋„ ํ•ฉ๋‹ˆ๋‹ค)

Untitled

๋ฆฌ์Šค๋„ˆ ๋“ฑ๋ก: ContextLoaderListener์˜ contextInitialized๋ฅผ ํ†ตํ•ด ์ปจํ…์ŠคํŠธ๊ฐ€ ์ดˆ๊ธฐํ™”๋ฅผ ์‹œ์ž‘ํ•œ๋‹ค. ์—ฌ๊ธฐ์„  jwp.sql ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ฆฌ์Šค๋„ˆ์ด๋ฏ€๋กœ ๋‹ค์Œ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

์ด๋•Œ ๊ธฐ๋ณธ์ ์ธ DB ์„œ๋ฒ„ ๋“ฑ๋ก ์ดํ›„ Connection Pool์ด ์ƒ์„ฑ๋œ๋‹ค.

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2023-02-21 แ„‹แ…ฉแ„’แ…ฎ 4.08.37.png

์ƒ์„ฑ๋œ Connection Pool์—์„œ jwp.sql์„ ์ดˆ๊ธฐํ™” ํ•˜๊ธฐ ์œ„ํ•ด Connection์„ ํ• ๋‹นํ•œ๋‹ค.

Untitled

์ดํ›„ ๋ฐ›์•„์˜จ Connection์„ ํ†ตํ•ด DB์™€ ์—ฐ๊ฒฐํ•˜๊ณ  jwp.sql์„ populateํ•œ๋‹ค.

Untitled

populate ์ดํ›„ ๋‹ค์‹œ ์ปค๋„ฅ์…˜์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. (ALLOCATED โ†’ RETURNING โ†’ IDLE) ํ•ด๋‹น ๊ณผ์ •์€ 4์ฃผ์ฐจ Connection ๋ฐ˜ํ™˜์— ์ž์„ธํžˆ ์„ค๋ช…๋˜์–ด ์žˆ์Œ