spring boot
[ skeleton ] springboot 프로젝트 - hikariCP 설정 ( oracle cloud ATP)
파워킴
2021. 11. 15. 00:17
반응형
[ skeleton ] springboot 프로젝트 - oracle 연동
- 요즘 핫한 무료로 주는 oracle cloud 의 DB ATP 를 연결해 보자.
- oracle ATP 또는 ADW 생성 및 접속을 위한 wallet 다운로드는 아래 URL 참고
- https://www.oracle.com/database/technologies/getting-started-using-jdbc.html - 다운받은 wallet 을 특정 장소에 다운받아 놓고 spring boot 에서 사용할 수 있도록 설정한다.
# oracle cloud free tire - https://www.oracle.com/kr/cloud/free ![]() |
설정하기
- build.gradle dependency 설정
// oracle cloud implementation("com.oracle.database.jdbc:ojdbc8-production:21.1.0.0")
- application.yml 설정 .
spring: datasource: url: jdbc:oracle:thin:@ATPDBNAME_high?TNS_ADMIN=/oracle/oracle_atp/Wallet_ATPDBNAME/ username: ADMIN password: xxxxxx driver-class-name: oracle.jdbc.OracleDriver hikari: connection-timeout: 3000 validation-timeout: 3000 minimum-idle: 5 maximum-pool-size: 20 idle-timeout: 200000 max-lifetime: 240000 pool-name: oraPool
- ATPDBNAME 에 디비이름을 쓴다.
- /oracle/oracle_atp/Wallet_ATPDBNAME/ 는 wallet 을 다운받은 경로 설정.
실행하기
- spring boot 실행하니.. connection 중 ERROR 가 발생함.
- 고가용성 사용이 설정 되어 있지 않으므로 오류가 발생한것임.
- 아래 라이브러리를 제거 하기 위해 ojdbc8-production 라이브러리를 풀어서 적용.
아래 두개의 라이브러리는 포함하지 않는다.
// Additional Jars for High Availability
implementation("com.oracle.database.ha:ons")
implementation("com.oracle.database.ha:simplefan")
- build.gradle dependency 설정 수정...
// oracle cloud
// Get BOM file and choose Oracle JDBC driver (ojdbc8.jar) and Universal Connection Pool (ucp.jar)
implementation(enforcedPlatform("com.oracle.database.jdbc:ojdbc-bom:21.1.0.0"))
implementation("com.oracle.database.jdbc:ojdbc8")
implementation("com.oracle.database.jdbc:ucp")
// Additional Jars for using Oracle Wallets
implementation("com.oracle.database.security:oraclepki")
implementation("com.oracle.database.security:osdt_core")
implementation("com.oracle.database.security:osdt_cert")
마무리
* DataSource 는 입력해주는 yml 의 파라미터만을 변경하여 작업하면 oracle 도 접속에 무리가 없다.
반응형