๐ŸŠ๐Ÿฝ Connection Pool

trankill_Kimยท2024๋…„ 5์›” 4์ผ

์ปค๋„ฅ์…˜ ํ’€์ด๋ž€?

์•ฑ ๋กœ๋”ฉ ์‹œ์ ์— Connection ๊ฐ์ฒด๋ฅผ ๋ฏธ๋ฆฌ ์ƒ์„ฑํ•ด๋‘๊ณ , DB ์—ฐ๊ฒฐ์ด ํ•„์š”ํ•  ๋•Œ ๋ฏธ๋ฆฌ ์ค€๋น„๋œ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

์ปค๋„ฅ์…˜ ํ’€์„ ์™œ ์‚ฌ์šฉํ• ๊นŒ?

DB๋ฅผ ์—ฐ๊ฒฐํ•  ๋•Œ๋งˆ๋‹ค Connection ๊ฐ์ฒด๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ๋น„ํšจ์œจ์ ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ปค๋„ฅ์…˜ ํ’€์€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ• ๊นŒ?

์•ฑ์„ ์‹œ์ž‘ํ•˜๋Š” ์‹œ์ ์— ์ปค๋„ฅ์…˜ ํ’€์€ ์ปค๋„ฅ์…˜์„ 10๊ฐœ ์ •๋„ ๋ฏธ๋ฆฌ ์ƒ์„ฑํ•˜์—ฌ ๋ณด๊ด€ํ•œ๋‹ค. ์ด Connection ๊ฐ์ฒด๋“ค์€ DB์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์ƒํƒœ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ฆ‰์‹œ SQL์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์ด Connection์„ ์š”์ฒญํ•˜๋ฉด ์ปค๋„ฅ์…˜ ํ’€์€ ์ž์‹ ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฐ์ฒด ์ค‘ ํ•˜๋‚˜๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

์ปค๋„ฅ์…˜ ํ’€์„ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„๊นŒ?

DeptDaoImpl.java

pom.xml

root-context.xml

DB ์—ฐ๊ฒฐ ๋ฐ์ดํ„ฐ๋Š” ์™ธ๋ถ€์— ๋…ธ์ถœ๋˜์ง€ ์•Š๋Š” ์ชฝ์ด ๋ณด์•ˆ์— ์ข‹๋‹ค. ์ˆจ๊ฒจ์•ผ ํ•  ๋ฐ์ดํ„ฐ๋“ค์„ ๋”ฐ๋กœ ์ €์žฅํ•˜๊ณ  ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ด ํŒŒ์ผ์„ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ฉด ์ปค๋„ฅ์…˜ ํ’€์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์—…์€ ๋์ด๋‹ค.

db.properties

root-context.xml

๋งŒ์•ฝ ์ปค๋„ฅ์…˜ ํ’€์„ ๋‹ค๋ฅธ ๊ฒƒ์œผ๋กœ ๋ฐ”๊พธ๊ณ  ์‹ถ๋‹ค๋ฉด?

pom.xml์— ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€ ์ปค๋„ฅ์…˜ ํ’€์˜ dependency๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , root-context.xml์— id=โ€™dsโ€™์ธ bean์˜ class๋ฅผ ์ˆ˜์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

์ด๋ ‡๊ฒŒ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ปค๋„ฅ์…˜ ํ’€์˜ ๊ต์ฒด๊ฐ€ ๊ฐ€๋Šฅํ•œ ์ด์œ ๊ฐ€ ๋ญ˜๊นŒ?

Java์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ถ”์ƒํ™”ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ DataSource์ธ๋ฐ ์ปค๋„ฅ์…˜ ํ’€์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋ฅผ implements ํ•ด์„œ ๊ตฌํ˜„๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€