beaniejoy / dongne-cafe-api

☕️ kotlin & spring boot application (toy project) / siren order service for local cafe
2 stars 1 forks source link

DB Connection(Hikari) 설정 및 yaml 설정파일 공통화 #47

Closed beaniejoy closed 1 year ago

beaniejoy commented 1 year ago

📌 Connection 설정

이에 대한 성능 테스트가 필요

Hikari 설정 확인

<logger additivity="false" level="DEBUG" name="com.zaxxer.hikari.pool.HikariPool">
    <appender-ref ref="CONSOLE"/>
</logger>
<logger additivity="false" level="DEBUG" name="com.zaxxer.hikari.HikariConfig">
    <appender-ref ref="CONSOLE"/>
</logger>

HikariCP 특징

HikariPool에서 housekeeper가 30초마다 Pool stats를 로깅함

DEBUG 4312 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Pool stats (total=5, active=0, idle=5, waiting=0)
DEBUG 4312 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Fill pool skipped, pool is at sufficient level.


📌 yaml 설정파일 공통화

dongne-common 모듈에 yaml 파일 공통화 작업
spring-boot-starter-parent 플러그인에서 yaml 설정하는 로직이 있다.
(gradle에서는 io.spring.dependency-management plugin에 parent를 알아서 import 해주는 듯)

<resource>
  <directory>${basedir}/src/main/resources</directory>
  <filtering>true</filtering>
  <includes>
    <include>**/application*.yml</include>
    <include>**/application*.yaml</include>
    <include>**/application*.properties</include>
  </includes>
</resource>
<resource>
  <directory>${basedir}/src/main/resources</directory>
  <excludes>
    <exclude>**/application*.yml</exclude>
    <exclude>**/application*.yaml</exclude>
    <exclude>**/application*.properties</exclude>
  </excludes>
</resource>

위의 방식으로 설정되어 있다.
dongne-common하고 각각의 module에서 같은 이름의 yml 파일을 설정하면 각 모듈의 파일로 덮어씌어진다.
그래서 common과 각 모듈 간에 yaml 파일 위치나 이름을 달리해야 한다.