배경 & 이슈
CQRS 분리를 위해 수동설정을 해주는 환경에서, 이전 Version으로 롤백처리 해야하는 이슈가 생겼다.
아래와 같이 변경해주었더니 에러가 발생하였다.
spring:
profiles: version1
datasource:
jdbc-url: jdbc:h2:mem://localhost/~
username: ~~
password: 1234
driver-class-name: org.h2.Driver
원인 및 해결방안
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