Connection Pool ใน JDBC (Java Database Connectivity) เป็นลักษณะของการเพิ่มประสิทธิภาพของสิ่งที่เกี่ยวกับ caches database connections การดำเนินการดังกล่าวอนุญาตให้มีการใช้ซ้ำได้ แทนที่จะต้องสร้างหรือปิดแต่ละอย่างของแต่ละคำขอ กล่าวคือ
- ไม่มี Connection Pool ของ JDBC – เปิดการเชื่อมต่อไปยังบริการฐานข้อมูลตามที่ต้องการและปิดเมื่อหน้านั้นได้ทำการประมวลผลคำขอเสร็จสิ้น
- มี Connection Pool ของ JDBC – ยึดการเปิดเชื่อมต่อของ pool ไว้ ดังนั้นถ้าหน้านั้นมีความจำเป็นที่จะต้องเข้าถึงฐานข้อมูล มันก็จะเป็นแค่การใช้การเชื่อมต่อที่มีอยู่แล้ว (การสร้างใหม่จะถูกสร้างขึ้นก็ต่อเมื่อไม่มีการเชื่อมต่อร่วมกันมาก่อน)
การตั้งค่า Connection Pool ของ JDBC สำหรับแอปพลิเคชันเซิฟเวอร์ของคุณสามารถลดความล่าช้าและการใช้ทรัพยากรเพื่อให้บริการของแต่ละคำขอเป็นรายบุคคล ในลักษณะดังกล่าวเป็นการเสริมสร้างประสิทธิภาพการทำงานของฐานข้อมูล (โดยเฉพาะอย่างยิ่งสำหรับการร้องขอไปยังแอปพลิเคชันที่ขับเคลื่อนด้วยฐานข้อมูลแบบไดนามิก
ทั้งนี้ ทั้ง GlassFish และ Payara Java application servers ให้การรองรับแบบ Native สำหรับกลไกการเชื่อมต่อ Pooling เพื่อที่เพิ่มประสิทธิภาพในการเข้าถึงฐานข้อมูล
ทำตามขั้นตอนง่าย ๆ ด้านล่างเพื่อตั้งค่าการเชื่อมต่อ Connection Pool ของ JDBC
การสร้าง Environment
1.ล็อกอินเข้าด้วยบัญชี Ruk-Com Cloud
2.กดปุ่ม New environment
3.ในส่วนของ topology wizard สลับไปยังแท็บ Java เลือก GlassFish หรือ Payara ตามแอปพลิเคชันเซิฟเวอร์ของคุณและเพิ่มสิ่งที่จำเป็นต้องใช้กับฐานข้อมูล (ตามตัวอย่าง เราใช้ GlassFish และ MySQL คู่กัน) ถัดไป กำหนดขีดจำกัดทรัพยากรของ Container และตั้งชื่อสภาพแววดล้อมที่ต้องการ
กด Create รอสักครู่เพื่อที่จะได้สภาพแวดล้อมใหม่และดำเนินการสร้าง connection pool ของ JDBC ต่อไป
การจัดเตรียม Environment
1.กดปุ่ม Open in Browser สำหรับ MySQL node
ใช้อีเมลที่ได้รับพร้อมกับรายละเอียดของฐานข้อมูลเพื่อล็อกอินเปิดพาเนล phpMyAdmin
2.เมื่อเข้ามาครั้งแรก ให้สลับไปที่แท็บ User accounts และคลิกที่ลิงก์ Add user account ในหน้าที่เปิดอยู่ให้ทำการใส่ข้อมูลที่จำเป็นต่าง ๆ ลงไปในฟอร์มและติ๊กตัวเลือก Create database with same name and grant all privileges
การตั้งค่า Application Server
1. ตัวเชื่อมต่อ MySQL ของ JDBC นั้นตั้งค่าเริ่มต้นเอาไว้แบบ stack (ตั้งอยู่ที่ไดเรกทอรี /opt/glassfish/glassfish/domains/domain1/lib บนเซิฟเวอร์ GlassFish ของคุณ หรือ /opt/payara/glassfish/domains/domain1/lib บน Payara) ดังนั้นคุณไม่จำเป็นที่จะต้องอัปโหลดด้วยตนเอง
2.ล็อกอินเข้าสู่พาเนลแอดมินของ GlassFish (หรือ Payara) โดยใช้รายละเอียดที่ได้รับจากอีเมล
3.ไปที่ส่วนของ Resources > JDBC > JDBC Connection Pools และคลิกปุ่ม new บนพาเนลเครื่องมือในฟอร์มที่ปรากฏ ให้กรอกข้อมูลตามนี้
- Pool Name – ตั้งชื่อได้ตามต้องการ
- Resource Type – เลือก javax.sql.DataSource จากลิสรายการ
- Database Driver Vendor – เลือก MySQL
กดปุ่ม next เพื่อดำเนินการต่อ
4.หาและแก้ไขในส่วนของ Additional Properties ได้ตามต่อไปนี้
- User – ส่วนที่ให้การล็อกอินเข้าสู่ฐานข้อมูล (ในกรณีของเราคือ pooling)
- ServerName – ระบุโฮสฐานข้อมูลของคุณโดยไม่ต้องมีโปรโตคอล (เช่น node166355-gf-pooling.jelastic.com)
- Port – ตั้งเลขพอร์ตเป็น 3306
- DatabaseName – ส่วนที่ให้ตั้งชื่อฐานข้อมูล (ในกรณีของเราคือ pooling)
- Password – สำหรับเก็บรหัสผ่านตามที่ผู้ใช้งานระบุ
- URL and Url – ตั้งค่า connection string ของ JDBC ใน jdbc:mysql://{db_host}:3306/ format; ในที่นี้ ,ช่อง {db_host} สามารถแทนที่ได้ด้วยชื่อโฮสของโหนดอื่น ๆ (node166355-gf-pooling.jelastic.com) หรือไอพีแอดเดรส (192.168.2.57)
หลังจากระบุคุณสมบัติต่าง ๆ แล้วให้คลิก Finish
5. เพื่อที่จะตรวจสอบการเข้าถึง เลือกการเชื่อมต่อ pool ที่คุณเพิ่งสร้างขึ้นมาและกดปุ่ม Ping ถ้าทุกอย่างเป็นไปอย่างราบรื่น จะเห็นข้อความเด้งขึ้นมาว่า Ping Succeeded
6. ไปที่ส่วนของ Resources > JDBC > JDBC Resources และเลือกปุ่ม New เพื่อสร้างทรัพยากรของ JDBC สำหรับการ pooling ในหน้าต่างที่เปิดจพเป็นที่จะต้องใส่ข้อมูลในส่วนของของ JNDI Name และเลือกส่วนของ Pool Name จากลิสรายการ
ยืนยันการสร้างทรัพยากรด้วยการกดปุ่ม OK ด้านบน
การเชื่อมต่อ Code ของ Java
นำโค้ดเหล่านี้ไปวางไว้ในส่วนของ Java class ของโค้ดแอปพลิเคชัน
นี่คือส่วนช่องว่าง {resources} จะถูกแทนด้วยชื่อของ JNDI ที่ได้ทำการสร้างไว้ก่อนหน้านี้ (เช่น jdbc/mypool ในกรณีของเรา)
ตอนนี้คุณสามารถปรับใช้แอปพลิเคชันจาวาของคุณกับ Ruk-Com Cloud และเพลิดเพลินไปกับสิทธิประโยชน์ของ GlassFish และ Payara Micro connection pooling