인프런 커뮤니티 질문&답변

안용상님의 프로필 이미지

작성한 질문수

스프링 배치

DB 스키마 생성 및 이해 (1)

docker db (mysql) 이 죽는 현상이 있습니다.

작성

·

521

0

안녕하세요. 좋은 강의 만들어주셔서 감사합니다.

아래와 같이 강좌와 유사하게 spring.datasource.hikari 로 mysql 설정을 한 후 간단한 job 을 실행시키면 docker 로 설치한 mysql db 가 죽는 현상이 있습니다.

혹시 hikari 설정이 부족해서 그런 것일까요? 강좌에서는 잘 진행이 되는것 같아서 질문드립니다.

그래서 주석 처리하고 기존에 하던 방식으로 spring.datasource 를 이용해서 mysql 설정을 했습니다. spring.datasoruce 는 datasource 설정인거 같고, spring.datasource.hikari 는 hikari connection pool 설정인거 같은데요. 헷갈리네요. 어디에 db 설정을 정의하는것이 기본일까요?

spring:
profiles:
active: local

---
spring:
config:
activate:
on-profile: local
datasource:
# hikari:
# jdbc-url: jdbc:mysql://av-api01-dc.nfra.io:23306/aida_project?useUnicode=true&characterEncoding=utf8
# username: root
# password: root
# driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
batch:
jdbc:
initialize-schema: always

답변 2

0

혹시 동일한 현상으로 고민하시는 분 있으실까봐 남깁니다.

저도 같은 현상이 있었는데 아래처럼 해서 해결 했습니다.

spring:
  config:
    activate:
      on-profile: mysql
  datasource:
    url: jdbc:mysql://localhost:3306/springbatch?useUnicode=true&characterEncoding=utf8
    username: root
    password: pass
    driver-class-name: com.mysql.cj.jdbc.Driver
  batch:
    jdbc:
      initialize-schema: always

0

정수원님의 프로필 이미지
정수원
지식공유자

음..

위의 hikari 설정에는 특이사항이 없는 것 같습니다. 

hikari 내부적으로 모든 옵션이 기본 값으로 설정이 되어 있기 때문에 해당 이슈의 원인이 될 수 없을 것 같고 docker 에서 좀 더 원인을 찾아 보는 게 좋을 것 같습니다.

물론 위의 현상에 대해 저도 정확하게는 알기 어렵네요..

hikari 는 스프링 부트에서 기본적으로 사용하는 dbcp 이기도 하구요..

 driver-class-name 이 소스와는 좀 차이가 있네요.. 이게 원인이 될런지는 모르겠습니다.

충분한 답변이 되어드리지 못해 죄송합니다.