Connection Pooling
การเปิด database connection ใหม่ทุกครั้งที่มี request นั้นช้าและใช้ทรัพยากรมาก Connection pooling แก้ปัญหานี้ด้วยการนำ connection ที่เปิดอยู่แล้วกลับมาใช้ซ้ำ HikariCP เป็น connection pool ที่ได้รับความนิยมและมีประสิทธิภาพสูงสำหรับแอปพลิเคชัน Java
ตั้งค่า HikariCP ให้กับ CityBook Libraries เพื่อปรับปรุงประสิทธิภาพของแอปพลิเคชัน HikariConfig, HikariDataSource และข้อมูล credentials ของฐานข้อมูลได้ถูก import ไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การคิวรีฐานข้อมูล PostgreSQL ด้วย Java
คำแนะนำการฝึกหัด
- กำหนดค่า
HikariConfigด้วย URL ของฐานข้อมูล, username และ password - สร้าง
HikariDataSourceจาก configuration ที่ตั้งค่าไว้ - ดึง connection จาก pool
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
public class Main {
public static void main(String[] args) {
// Configure HikariCP with credentials
HikariConfig config = new HikariConfig();
config.____(Credentials.URL);
config.____(Credentials.USER);
config.____(Credentials.PASSWORD);
// Create the connection pool
HikariDataSource ds = new ____(config);
// Get a connection from the pool
try (Connection conn = ____.____()) {
System.out.println("Connected with HikariCP!");
} catch (SQLException e) {
System.out.println("Error: " + e.getMessage());
System.out.println("SQLState: " + e.getSQLState());
}
}
}