파워노트

[ skeleton ] springboot 프로젝트 - hikariCP 설정 ( oracle cloud ATP) 본문

spring boot

[ skeleton ] springboot 프로젝트 - hikariCP 설정 ( oracle cloud ATP)

파워킴 2021. 11. 15. 00:17
반응형

[ skeleton ] springboot 프로젝트 - oracle 연동

 

 

# 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 도 접속에 무리가 없다. 

 

 

 

반응형
Comments