본문 바로가기

2018/03

Multi DatabaseSource에 이어서 더.. 지난번에 이어서... 막상 기존 운영 서비스의 소스를 보니 데이터베이스 스키마가 하나가 더 있다. 아.... 즉, 물리적 Database Server하나에 기존 서비스에서 사용되는 schema는 총 3개였던 것이다. "계정용DB, 파트너용DB, 고객운영용DB" 이렇게 3개. 파트너용 백오피스에서 예약 내역 조회는 가장 기본적인 비즈니스인데 파트너용DB와 고객운영용DB가 궂이 분리했고.. 거기서 테이블을 7-8개씩 조인을 한다. 아.... 여튼 그래서 3개 모두 datasources를 따로 가져갈까 하다가 계정DB는 따로하는게 맞을 듯 해보이고 두개는 하나의 커넥션 내에서 하는게 맞을 듯 해서 datasource는 하나로 통합하기로 했다. 이때 조건이나 방법을 적어보면 아래와 같다. - 두개의 schema.. 더보기
Spring Boot 에 HikariCp / JPA / Multiple DataSources 적용해보기 최근의 Spring Boot 은 여기 참조.. https://docs.spring.io/spring-boot/docs/current/reference/html/howto.html#howto.data-access.configure-two-datasources “How-to” Guides Spring Boot has no mandatory logging dependency, except for the Commons Logging API, which is typically provided by Spring Framework’s spring-jcl module. To use Logback, you need to include it and spring-jcl on the classpath. The recommen.. 더보기
Json 속성중 Enum에 대한 Null 처리 일반적인 null이나 알 수 없는 속성의 경우는 @JsonIgnoreProperties(ignoreUnknown = true) @JsonInclude(JsonInclude.Include.NON_NULL) public class RateInfo {... 위 Annotation 정도면 무난하게 파싱이 가능하지만, Enum이 추가되고 해당 Enum이 Null 또는 Enum에 매칭되는 속성이 아닌 경우는 오류가 발생하게 된다.가령 Json과 Object가 아래와 같은 경우 "Unknown"이 없으므로 오류(deserialization error)이다. Json }, "nonRefundable": false, "rateType": "Unknown" } }, Object@JsonIgnoreProperties(ign.. 더보기