קביעת תצורה של בריכת חיבורי היקארי עם מגף קפיץ

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

היקארי הוא JDBC מקור מידע יישום המספק מנגנון איגום חיבורים.

בהשוואה ליישומים אחרים, הוא מבטיח להיות קל משקל וביצועים טובים יותר. להקדמה להיקארי, עיין במאמר זה.

מדריך מהיר זה מראה כיצד אנו יכולים להגדיר יישום Spring Boot 2 או Spring Boot 1 לשימוש ב- Hikari מקור מידע.

2. קביעת תצורה של היקארי עם מגף קפיץ 2.x

ב- Spring Boot 2, Hikari הוא יישום ברירת המחדל של DataSource.

זה מה שהשתנה מ- Spring Boot 1.x:

  • התלות בהיקארי כלולה כעת אוטומטית spring-boot-starter-data-jpa ו אביב-אתחול-המתנע-jdbc
  • אלגוריתם הגילוי הקובע אוטומטית א מקור מידע היישום מעדיף כעת את היקארי על פני TomcatJDBC (עיין במדריך ההתייחסות).

לפיכך, אין לנו מה לעשות אם אנו רוצים להשתמש ב- Hikari ביישום המבוסס על Spring Boot 2.x.

3. כוונון פרמטרים של תצורת היקארי

אחד היתרונות של היקארי על פני אחרים מקור מידע יישומים היא העובדה שהוא מציע הרבה פרמטרים לתצורה.

אנו יכולים לציין את הערכים עבור פרמטרים אלה באמצעות הקידומת spring.datasource.hikari והוספת שם הפרמטר Hikari:

spring.datasource.hikari.connectionTimeout = 30000 spring.datasource.hikari.idleTimeout = 600000 spring.datasource.hikari.maxLifetime = 1800000 ...

רשימה של כל הפרמטרים של Hikari עם הסבר טוב זמינה באתר Hikari Github, כמו גם במסמכי האביב.

4. קביעת תצורה של היקארי עם מגף קפיץ 1.x

Spring Boot 1.x משתמש כברירת מחדל בבריכת החיבורים של Tomcat JDBC.

ברגע שאנחנו כוללים spring-boot-starter-data-jpa לתוך שלנו pom.xmlנכלול באופן תמידי תלות ביישום JDBC של Tomcat. במהלך זמן הריצה, Spring Boot ייצור Tomcat מקור מידע לשימושנו.

כדי להגדיר את Boot Spring כך שישתמש במקום זאת בבריכת החיבורים של Hikari, יש לנו שתי אפשרויות.

4.1. תלות של Maven

ראשית, עלינו לכלול את התלות בהיקארי בתוכנו pom.xml:

 com.zaxxer HikariCP 3.2.0 

הגרסה העדכנית ביותר ניתן למצוא ב- Maven Central.

4.2. תצורה מפורשת

הדרך הבטוחה ביותר לומר ל- Spring Boot להשתמש ב- Hikari היא קביעת תצורה של יישום DataSource באופן מפורש.

כדי לעשות זאת, אנחנו פשוט קבע את הנכס spring.datasource.type לשם המוסמך של ה- מקור מידע יישום בו אנו רוצים להשתמש:

@RunWith (SpringRunner.class) @SpringBootTest (מאפיינים = "spring.datasource.type = com.zaxxer.hikari.HikariDataSource") מחלקה ציבורית HikariIntegrationTest {@ DataSource פרטי מקור נתונים נתונים; @Test ציבורי בטל hikariConnectionPoolIsConfigured () {assertEquals ("com.zaxxer.hikari.HikariDataSource", dataSource.getClass (). GetName ()); }}

4.3. הסרת תלות Tomcat JDBC

האפשרות השנייה היא לתת לאביב המגף למצוא את היקארי מקור מידע היישום עצמו.

אם Spring Boot לא יכול למצוא את Tomcat מקור מידע בשביל הכיתה, זה יחפש אוטומטית את ההיקארי מקור מידע הַבָּא. אלגוריתם הגילוי מתואר במדריך ההתייחסות.

כדי להסיר את מאגר החיבורים של Tomcat משביל הכיתה, נוכל להחריג אותו ב pom.xml:

 org.springframework.boot spring-boot-starter-data-jpa org.apache.tomcat tomcat-jdbc 

כעת, המבחן מהסעיף הקודם יעבוד גם ללא הגדרת ה- spring.datasource.type תכונה.

5. מסקנה

במאמר זה הגדרנו את היקארי מקור מידע יישום ביישום Spring Boot 2.x ולמד כיצד למנף את התצורה האוטומטית של Spring Boot. בדקנו גם את השינויים הנדרשים להגדרת תצורה של היקארי בעת שימוש באביב אתחול 1.x.

הקוד לדוגמא Spring Boot 1.x זמין כאן, והקוד לדוגמא Spring Boot 2.x זמין כאן.


$config[zx-auto] not found$config[zx-overlay] not found