# 서버 설정 server: port: 18080 # 애플리케이션 구동 포트 (운영환경) spring: # DataSource 설정 - MariaDB datasource: driver-class-name: org.mariadb.jdbc.Driver # MariaDB JDBC 드라이버 url: jdbc:mariadb://211.119.124.117:53306/vips?characterEncoding=UTF-8&allowMultiQueries=true # DB 접속 URL (UTF-8 인코딩, 다중쿼리 허용) username: # DB 접속 사용자명 password: # DB 접속 비밀번호 hikari: # 커넥션 풀 크기 설정 (4코어 32GB 서버 기준) # 동시에 사용할 수 있는 최대 커넥션 수 # 권장값: (코어수 × 2) + (동시사용자 × 0.1) = (4 × 2) + (300 × 0.1) = 38 → 40 maximum-pool-size: 40 # 풀에서 유지할 최소 유휴 커넥션 수 # 권장값: maximum-pool-size의 25% (40 × 0.25 = 10) minimum-idle: 10 # 커넥션을 얻기 위한 최대 대기 시간 (밀리초) # 권장값: 30초 - 네트워크 지연이나 데이터베이스 부하 시 적절한 대기 시간 connection-timeout: 30000 # 커넥션 유효성 검사 타임아웃 (밀리초) validation-timeout: 60000 # 커넥션의 최대 생명 시간 (밀리초) # 권장값: 30분 - 데이터베이스 연결이 너무 오래 유지되지 않도록 제한 max-lifetime: 1800000 # 유휴 커넥션을 제거하기 위한 최소 대기 시간 (밀리초) # 권장값: 10분 - 메모리 절약과 커넥션 재사용의 균형점 idle-timeout: 600000 # auto-commit을 false로 설정하여 명시적 트랜잭션 관리 auto-commit: false # MyBatis 설정 mybatis: # MyBatis 전역 설정 파일 위치 config-location: classpath:mybatis/mybatis-config.xml # Mapper XML 파일 위치 (DbType 변수 사용) mapper-locations: classpath:mybatis/mapper/**/*_${Globals.DbType}.xml # 타입 별칭 패키지 (하위 패키지 자동 스캔) type-aliases-package: com.vmis.interfaceapp.model # 로그 설정 - 운영(PRD) 환경 logging: config: classpath:logback-spring.xml # Logback 설정 파일 위치 file: path: d:/VMIS-interface/logs # 로그 파일 저장 경로 name: vmis-interface # 로그 파일명 prefix logback: rollingpolicy: max-file-size: 10MB # 로그 파일 최대 크기 (10MB 초과 시 새 파일 생성) max-history: 90 # 로그 파일 보관 기간 (일 단위) - 90일 (운영환경 장기 보관) level: root: WARN # 루트 로거 레벨 - 경고 이상만 출력 (운영환경 로그 최소화) com.vmis.interfaceapp: INFO # 애플리케이션 패키지 로거 레벨 - 일반 정보 이상 출력 org.springframework: WARN # Spring Framework 로거 레벨 - 경고 이상만 출력 org.springframework.web: INFO # Spring Web 로거 레벨 - 요청/응답 기본 정보 출력 # 인터페이스 및 연계 설정 - 운영(PRD) 환경 # 주의: 실제 운영 키/호스트는 배포 환경 변수나 외부 설정(Secret)로 주입 권장 vmis: system: infoSysId: "41-345" # 정보시스템 ID infoSysIp: "105.19.10.135" # 정보시스템 IP 주소 sigunguCode: "41460" # 시군구 코드 (경기도 용인시) departmentCode: "" # 부서 코드 chargerId: "" # 담당자 ID chargerIp: "" # 담당자 IP 주소 chargerNm: "" # 담당자 이름 gpki: enabled: "Y" # GPKI 사용 여부 (운영환경에서는 활성화) useSign: true # 서명 사용 여부 charset: "UTF-8" # 문자셋 인코딩 certServerId: "SVR5640020001" # 인증서 서버 ID (요청 시스템) targetServerId: "SVR1611000006" # 대상 서버 ID (차세대교통안전공단) ldap: true # LDAP 사용 여부 gpkiLicPath: "C:\\GPKI\\VMIS-Lic" # GPKI 라이선스 파일 경로 certFilePath: "c:\\GPKI\\Certificate\\class1" # 인증서 파일 디렉토리 경로 envCertFilePathName: "c:\\GPKI\\Certificate\\class1\\SVR5640020001_env.cer" # 암호화용 인증서 파일 경로 envPrivateKeyFilePathName: "c:\\GPKI\\Certificate\\class1\\SVR5640020001_env.key" # 암호화용 개인키 파일 경로 envPrivateKeyPasswd: "*sbm204221" # 암호화용 개인키 비밀번호 sigCertFilePathName: "c:\\GPKI\\Certificate\\class1\\SVR5640020001_sig.cer" # 서명용 인증서 파일 경로 sigPrivateKeyFilePathName: "c:\\GPKI\\Certificate\\class1\\SVR5640020001_sig.key" # 서명용 개인키 파일 경로 sigPrivateKeyPasswd: "*sbm204221" # 서명용 개인키 비밀번호 gov: scheme: "http" # 프로토콜 (http/https) host: "10.188.225.25:29001" # 운영(PRD) 행정망 호스트 및 포트 (명세에 맞춰 수정) basePath: "/piss/api/molit" # API 기본 경로 connectTimeoutMillis: 5000 # 연결 타임아웃 (밀리초) - 5초 readTimeoutMillis: 10000 # 읽기 타임아웃 (밀리초) - 10초 services: basic: # 시군구연계 자동차기본사항조회 서비스 path: "/SignguCarBassMatterInqireService" # 서비스 경로 cntcInfoCode: "AC1_FD11_01" # 연계정보코드 apiKey: "05e8d748fb366a0831dce71a32424460746a72d591cf483ccc130534dd51e394" # API 인증키 cvmisApikey: "014F9215-B6D9A3B6-4CED5225-68408C46" # CVMIS API 키 ledger: # 시군구연계 자동차등록원부(갑) 서비스 path: "/SignguCarLedgerFrmbkService" # 서비스 경로 cntcInfoCode: "AC1_FD11_02" # 연계정보코드 apiKey: "1beeb01857c2e7e9b41c002b007ccb9754d9c272f66d4bb64fc45b302c69e529" # API 인증키 cvmisApikey: "63DF159B-7B9C64C5-86CCB15C-5F93E750" # CVMIS API 키