배경 & 이슈

CQRS 분리를 위해 수동설정을 해주는 환경에서, 이전 Version으로 롤백처리 해야하는 이슈가 생겼다.

아래와 같이 변경해주었더니 에러가 발생하였다.

spring:
  profiles: version1
  datasource:
    jdbc-url: jdbc:h2:mem://localhost/~
    username: ~~
    password: 1234
    driver-class-name: org.h2.Driver

Untitled

원인 및 해결방안

hikari > url : 이 속성은 HikariCP 연결 풀에 대한 JDBC 연결 URL을 직접 지정하는 데 사용됩니다.

데이터베이스에 연결하는 데 사용되는 표준 JDBC URL입니다.

자동설정의 경우엔datasource.jdbc-url이 아닌 datasource.url이 Datasource의 url이 됩니다

datasource.jdbc-url로 설정된 값은 자동설정에선 인식하지 못합니다.

예를 들어, MySQL 데이터베이스의 경우 URL은 jdbc:mysql://localhost:3306/mydatabase와 같이 보일 수 있습니다.

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydatabase

hikari > jdbc-url : 이 속성은 HikariCP에만 해당하며 다른 연결 속성과 별도로 jdbc url 을 설정할 수 있습니다.

즉, Java Config를 통해 수동설정하여 연결을 처리합니다.

여러 데이터베이스 연결 속성과 구성을 분리하려는 시나리오에 사용될 수 있습니다.

spring:
  datasource:
    hikari:
      jdbc-url: jdbc:mysql://localhost:3306/mydatabase

Spring Boot & HikariCP Datasource 연동하기