|
|
# 서버 설정
|
|
|
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 키
|