שימוש ב- c3p0 עם מצב שינה

1. סקירה כללית

זה די יקר ליצור חיבורי בסיס נתונים. איגום חיבורי בסיסי נתונים הוא דרך מבוססת להפחית הוצאה זו.

במדריך זה נדון כיצד להשתמש ב- c3p0 עם מצב שינה כדי לחבר חיבורים.

2. מה זה c3p0?

c3p0 הואספריית Java המספקת דרך נוחה לניהול חיבורי מסדי נתונים.

בקיצור, זה משיג זאת על ידי יצירת מאגר קשרים. זה גם מטפל בניקיון של הַצהָרָהs ו- ResultSetלאחר השימוש. ניקוי זה הכרחי על מנת להבטיח כי השימוש במשאבים מותאם ובלוקים שניתנים למניעה אינם מתרחשים.

ספרייה זו משתלבת בצורה חלקה עם מנהלי התקנים JDBC מסורתיים שונים. בנוסף, הוא מספק שכבה להתאמת מנהלי התקני JDBC מבוססי DriverManager לחדשים יותר javax.sql.DataSource תָכְנִית.

ומכיוון ש- Hibernate תומך בחיבור למסדי נתונים באמצעות JDBC, זה פשוט להשתמש ב- Hibernate ו- c3p0 יחד.

3. קביעת תצורה של c3p0 עם מצב שינה

בואו נסתכל כעת כיצד להגדיר יישום שינה קיים לשימוש ב- c3p0 כמנהל חיבורי מסד הנתונים שלו.

3.1. תלות Maven

ראשית, ראשית נצטרך להוסיף את ה- שינה-c3p0 תלות במוות:

 org.hibernate hibernate-c3p0 5.3.6.Final 

ב- Hibernate 5, רק הוספת התלות הנ"ל מספיקה בכדי לאפשר c3p0. זה נכון כל עוד לא צוין שום מנהל מאגר חיבורים אחר ב- JDBC.

לכן, לאחר שנוסיף את התלות, נוכל להריץ את היישום שלנו ולבדוק את היומנים:

אתחול c3p0-0.9.5.2 [נבנה 08-דצמבר -2015 22:06:04 -0800; לנפות? נָכוֹן; עקבות: 10] אתחול מאגר c3p0 ... [מוגן בדוא"ל] [... הגדרות ברירת מחדל ...]

אם נעשה שימוש במנהל מאגר חיבורים אחר של JDBC, אנו יכולים להכריח את היישום שלנו להשתמש ב- c3p0. אנחנו רק צריכים להגדיר את ספק_קלאס ל C3P0ConnectionProvider בקובץ המאפיינים שלנו:

hibernate.connection.provider_class = org.hibernate.connection.C3P0ConnectionProvider

3.2. מאפייני בריכת חיבורים

בסופו של דבר, נצטרך לעקוף את תצורת ברירת המחדל. אנו יכולים להוסיף מאפיינים מותאמים אישית ל- hibernate.cfg.xml קוֹבֶץ:

5 20 5 1800

כמו כן, ה hibernate.properties קובץ יכול להכיל את אותן הגדרות:

hibernate.c3p0.min_size = 5 hibernate.c3p0.max_size = 20 hibernate.c3p0.acquire_increment = 5 hibernate.c3p0.timeout = 1800

ה גודל_ min המאפיין מציין את מספר החיבורים המינימלי שעליו לקיים בכל זמן נתון. כברירת מחדל, הוא ישמור על שלושה חיבורים לפחות. הגדרה זו מגדירה גם את הגודל הראשוני של הבריכה.

ה גודל מקסימלי המאפיין מציין את מספר החיבורים המקסימלי שהוא יכול לקיים בכל זמן נתון. כברירת מחדל, היא תשמור על מקסימום 15 חיבורים.

ה לרכוש_תוספת המאפיין מציין כמה חיבורים עליו לנסות לרכוש אם נגמר החיבורים הזמינים לבריכה. כברירת מחדל, היא תנסה לרכוש שלושה חיבורים חדשים.

ה פסק זמן המאפיין מציין את מספר השניות בהן יישמר חיבור שאינו בשימוש לפני השלכתו. כברירת מחדל, החיבורים לעולם לא יפוגו מהבריכה.

אנו יכולים לאמת את הגדרות הבריכה החדשות על ידי בדיקת היומנים שוב:

אתחול c3p0-0.9.5.2 [נבנה 08-דצמבר-2015 22:06:04 -0800; לנפות? נָכוֹן; עקבות: 10] אתחול מאגר c3p0 ... [מוגן בדוא"ל] [... הגדרות חדשות ...]

אלה המאפיינים הבסיסיים של מאגר חיבורים. בנוסף, ניתן למצוא מאפייני תצורה אחרים במדריך הרשמי.

5. מסקנה

במאמר זה דנו כיצד להשתמש ב- c3p0 עם מצב שינה. בדקנו כמה מאפייני תצורה נפוצים והוספנו את c3p0 ליישום הבדיקה.

ברוב הסביבות אנו ממליצים להשתמש במנהל מאגר חיבורים כגון c3p0 או HikariCP במקום במנהלי התקן JDBC מסורתיים.

כרגיל, קוד המקור המלא של מדריך זה זמין ב- GitHub.