[Spring Boot Gradle] Hikari CP MAX Connection Pool ์„ค์ •ํ•˜๊ธฐ

    ๋ฐ˜์‘ํ˜•

    ๊ธฐ์กด DataSource ๊ฐ€ Hikari CP ๊ธฐ๋ณธ์œผ๋กœ ์‚ฌ์šฉ ์ค‘, Max Connection Pool ์„ค์ •์ด ํ•„์š”ํ•˜๊ฒŒ ๋˜์–ด ์„ค์ • ์‹œ๋„๋ฅผ ํ•จ.

    try#1 - ์„ค์ •๋งŒ ์ถ”๊ฐ€

    application.yml 

    datasource:
        url: jdbc:log4jdbc:url
        driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
        username: username
        password: password
        # DB Connection Pool for local
        hikari:
          connectionTimeout : 30000
          maximumPoolSize : 2
          #maxLifetime : 1800000
          #poolName : HikariCP
          #readOnly : false
          #connectionTestQuery : SELECT 1

    DataSource Bean ๋”ฐ๋กœ ์กด์žฌํ•˜์ง€ ์•Š์Œ.

    >> ํ•ด๋‹น ์„ค์ •์ด ๋™์ž‘ํ•˜์ง€ ์•Š์Œ. 

    Why ? 

    >> DataSource ์ƒ์„ฑ ์‹œ, ๋”ฐ๋กœ ๋ช…์‹œํ•˜์ง€ ์•Š์•„ ๊ธฐ๋ณธ์ ์ธ ์„ค์ •๋งŒ ๊ฐ€์ ธ๊ฐ€๊ฒŒ ๋˜๋Š”๋ฐ ์ด๋Š” spring.datasrouce ์˜ url,driver-class-name,username,password ๋งŒ ๊ฐ€์ ธ๊ฐ€๊ณ  maximumPoolSize ์˜ ๊ฒฝ์šฐ spring.datasource.hikari ๋ฐ‘์œผ๋กœ ๋“ค์–ด๊ฐ€๋ฏ€๋กœ ์ธ์‹ํ•˜์ง€ ์•Š๋Š”๋‹ค.

     

    try#2 - ์„ค์ • ์ถ”๊ฐ€ ํ›„, ds Bean ๋“ฑ๋ก.

    application.yml

    datasource:
       hikari:
        jdbc-url: jdbc:log4jdbc:url
        driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
        username: username
        password: password
        maximumPoolSize : 2

    dbConfig.java

    @Bean(name = "dataSource")
      @ConfigurationProperties(prefix = "spring.datasource.hikari")
      public DataSource dataSource() {
        HikariDataSource ds = (HikariDataSource) DataSourceBuilder.create().build();
        return ds;
      }

    @ConfigurationProperties ์–ด๋…ธํ…Œ์ด์…˜์„ ํ†ตํ•ด, ํ”„๋กœํผํ‹ฐ์˜ spring.datasource.hikari ๋ฐ‘์˜ ์„ค์ •์„ ์ฐธ์กฐํ•˜๋„๋ก ๋ณ€๊ฒฝ.

    >> ํ•ด๋‹น ์„ค์ •์ด ๋™์ž‘ํ•˜์ง€ ์•Š์Œ.

    Why ? 

    >> DataSource ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ณณ์—์„œ ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•ด๋„, ์บ์ŠคํŒ… ํ•˜์ง€ ์•Š์€ HikariDataSource ์ด๊ธฐ ๋•Œ๋ฌธ์— ์„ค์ •์ด ์‚ฌ์šฉ๋œ ds ์—ฌ๋„ ์‹ค์ œ ์‚ฌ์šฉํ•˜๋Š” ๊ณณ์—์„œ๋Š” ํ•ด๋‹น ds ๊ฐ€ ์ ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค.

     

    try#3 - Hikari ์„ค์ •์„ ๋นˆ์— ๋“ฑ๋ก ํ›„, ๋ฒ ์ด์Šค Ds์—์„œ ํ•ด๋‹น ์„ค์ • ๊ฐ€์ ธ์™€ DataSource๋กœ ์บ์ŠคํŒ…ํ•˜์—ฌ ์‚ฌ์šฉ.

    ์ฐธ๊ณ  : https://dotheright.tistory.com/188

     

    7. Spring boot Oracle DB์—ฐ๋™(Thymeleaf, Hikari CP ํ™œ์šฉ)

    ์†Œ์Šค์ฝ”๋“œ : https://github.com/ 1. ๊ธฐ์ดˆ ์„ค์ • ๋ฐ ์ˆœ์„œ 2. pom.xml 3. application.yml 4. config 5. mapper 6. view & controller 1. ๊ธฐ์ดˆ ์„ค์ • ๋ฐ ์ˆœ์„œ 0. ๋ชฉํ‘œ > Thymeleaf์™€ Hikari CP๋ฅผ ํ™œ์šฉํ•œ Spring boot..

    dotheright.tistory.com

    dbConfig.java

    /**
       * hikari cp config ๋ช…์‹œ conf prop -> application.yml
       */
      @Bean
      @ConfigurationProperties("spring.datasource.hikari")
      public HikariConfig hikariConfig() {
        return new HikariConfig();
      }
    
      /**
       * mybatis์— hikari cp ๋“ฑ๋ก
       */
      @Bean
      public DataSource dataSource() {
        DataSource dataSource = new HikariDataSource(hikariConfig());
        return dataSource;
      }

    >> ์•„์ง ํ•ด๋‹น ์‚ฌํ•ญ์€ ์‹ค์ œ ํ™•์ธํ•ด๋ณด์ง„ ์•Š์Œ, ํ™•์ธ ํ›„ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ ์—…๋ฐ์ดํŠธ ์˜ˆ์ •

     

    >> ์‹ค์ œ๋กœ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ํ™•์ธ!

    728x90
    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€