파란하늘의 지식창고
article thumbnail
반응형

Spring Cloud Config Server를 jdbc profile로 사용하여 db를 연동하는 경우 4.0.0 버전으로 변경하고 나서 올바르게 동작하지 않는 문제가 있었다.

별다른 오류가 보이지 않고 호출이 되지 않아 찾기 애매한데 문제가 되는 원인은 바로 다음 변경점 때문이다.

기존에는 전체 공통으로 사용하는 값은 "default"라는 값의 profile로 저장하면 조회가 되었다.

JdbcEnvironmentRepository.java에 아래와 같이 변경되었다.

default를 무조건 추가하던 부분이 제거되었고 profile에 null값을 허용하게 되며 전체 공통 값을 조회할 땐 이 null값의 profile을 조회하는 것으로 변경되었다.

관련해서 기존에 제공하던 spring.cloud.config.server.jdbc.sql property 설정과 함께 spring.cloud.config.server.jdbc.sql-without-profile 설정이 추가로 제공된다.

DB schema를 custom하게 사용하는 경우 해당 property 설정을 추가로 지정해야 한다.

spring.cloud.config.server.jdbc.sql=SELECT "KEY", "VALUE" from PROPERTIES where APPLICATION=? and PROFILE=? and LABEL=?
spring.cloud.config.server.jdbc.sql-without-profile=SELECT "KEY", "VALUE" from PROPERTIES where APPLICATION=? and PROFILE is null and LABEL=?

 

한줄 요약 : Spring Cloud Config Server의 jdbc profile을 사용하는 경우 4.0.0  업그레이드 시 db의 profile을 null 허용하도록 변경하고 "default" 값을 null로 변경하는 migration 작업이 필요하다.

반응형
profile

파란하늘의 지식창고

@Bluesky_

내용이 유익했다면 광고 배너를 클릭 해주세요