Connection Pool คืออะไร?
Connection Pool เป็นวิธีการ Reuse Connection หรือเรียกใช้งาน Connection ที่มีอยู่แล้วโดยที่ไม่ต้องไปสร้าง Connection ขึ้นมาใหม่ เช่นเราอาจจะกำหนด Connection ขึ้นมา 100 Connection ในทีเดียวเลย จากนั้นก็ให้ application ที่เราเขียนขึ้นไปเรียกใช้งาน Connection เหล่านั้น ตัวอย่าง สมมติว่ามี user 10 คนเข้ามาใช้งาน application ของเรา และมีการใช้งาน database เกิดขึ้น application ไม่จำเป็นต้องไปสร้าง connection database ขึ้นมาใหม่ แค่ไปเอา connection จาก pool ที่มีอยู่ มาใช้ เมื่อใช้เสร็จก็นำ connection นั้นกลับไปเก็บไว้ใน pool เหมือนเดิม การจัดการ Connection ต่างๆ เราจะให้ application server (ในที่นี้คือ glassfish server) เป็นตัวบริหารจัดการให้ เช่น การ Create การ Close หรือแม้กระทั่งการดึง Connection มาใช้ ซึ่งการใช้ pool จะมี performance มากกว่า เพราะว่าช่วยลด เวลา ที่เกิดขึ้นจากการสร้างใหม่และการปิด Connection ในแต่ละครั้งได้ ดังนั้นนี่จึงเป็นอีกวิธีหนึ่งที่ช่วยทำให้ application ของเราทำงานได้เร็วขึ้น
1. ไปที่ localhost:4848
2. ไปที่ JDBC Connection Pools --> New...
3.พิมพ์ข้อมูลต่างๆลงไป จากนั้นกดปุ่ม Next
Pool Name : ConfigDBPool
Resource Type : javax.sql.DataSource
Database Driver Vendor : Oracle
กรอกข้อมูลเพิ่มเติม เช่น จำนวนของ pool ที่ต้องการ ,timeout ที่ใช้ เป็นต้น
พิมพ์ properties ต่างๆ ลงไป ซึ่งสิ่งที่เราจะใช้มีแค่ 3 properties ครับ ดังนี้
User : HR
Password : HR
URL : jdbc:oracle:thin:@localhost:1521:orcl
จากนั้นก็กดปุ่ม Finish
4. ลองคลิกเข้าไปดูครับ
5. ลอง ping ดูครับ ว่าใช้ได้มั้ย
6. ไปที่ JDBC Resources --> New...
7. กำหนดค่าต่างๆ ลงไป field JNDI Name ให้ดูใน spring database config (applicationContext-database.xml)
อ้างถึง pool ที่เราสร้างขึ้น : Pool Name คือชื่อ pool ที่ได้สร้างไว้ในข้อที่ 3
เป็นอันเสร็จเรียบร้อยครับ
ขอบคุณครับ
ตอบลบ