Develop/JPA

[JPA]VM Options 설정하기

롱하 2024. 9. 23. 10:44

VM options는 Java 가상 머신(JVM)의 동작을 제어하는 설정이다.

이 옵션은 프로그램을 실행할 때 JVM의 메모리 관리, 성능 조정, 디버깅 기능 등을 설정하는데 사용된다.

 

JPA를 사용하는 애플리케이션에서 JVM 옵션을 설정하는 경우가 많습니다. 예를 들어, 메모리 사용량을 조정하거나, JPA 구현체(예: Hibernate)의 로그 레벨을 조정하는 데 VM 옵션을 사용할 수 있다.

 

 

일반적인 VM 옵션의 예시

  • -Dspring.profiles.active=local (dev, prod)

 역할 : 활성화할 Spring 프로파일을 설정

 설명:  local 프로파일이 활성화되어 로컬 개발 환경에 맞는 설정이 적용됨

 예시:

- dev: 개발 환경에서 사용 (`-Dspring.profiles.active=dev`)

- prod: 운영 환경에서 사용 (`-Dspring.profiles.active=prod`)

  • -Drecycle.initData.core=false

 역할 : initData 활성화 및 비활성화

 설명:  "initData.core" 기능을 비활성화하여 초기 데이터를 불러오는 작업을 방지

 예시:  true로 설정하면 초기 데이터를 불러오는 작업을 수행 (`-Drecycle.initData.core=true`)

  • -Dspring.jpa.hibernate.ddl-auto=update

 역할: Hibernate의 데이터베이스 스키마 업데이트 정책을 설정

 설명: Hibernate가 데이터베이스 스키마를 자동으로 업데이트하도록 함

 예시:

- create: 애플리케이션 시작 시 스키마를 새로 생성 (`-Dspring.jpa.hibernate.ddl-auto=create`)

- validate: 기존 스키마를 검증만 함 (`-Dspring.jpa.hibernate.ddl-auto=validate`)

 

  • -Drecycle.admin.singleRole=false (admin이 front가 될 수도 있음)

 역할: 특정 애플리케이션의 설정을 비활성화

 설명: "singleRole" 기능을 비활성화하여 관리자가 여러 역할을 가질 수 있도록 설정

 예시: true로 설정하면 관리자가 단일 역할만 가질 수 있음 (`-Drecycle.admin.singleRole=true`)

 

  • -Dfile.encoding=UTF-8

 역할: 애플리케이션의 파일 인코딩을 설정

 설명: 파일 입출력 시 사용할 문자 인코딩을 UTF-8로 지정

 예시: EUC-KR: 한국어 인코딩을 위해 EUC-KR 사용 (`-Dfile.encoding=EUC-KR`)

 

  • -Djava.net.preferIPv4Stack=true

 역할: 네트워크 스택 우선 순위 설정

 설명: 애플리케이션이 IPv4를 우선적으로 사용하도록 설정.

 예시: false로 설정하면 IPv6를 우선적으로 사용 (`-Djava.net.preferIPv4Stack=false`)

 

  • -Dspring.jpa.properties.hibernate.show_sql=true

 역할: 실행되는 SQL 쿼리를 로그에 출력

 설명: Hibernate가 실행하는 SQL 쿼리를 콘솔에 출력.

 예시: false로 설정하면 SQL 쿼리 로그 출력을 비활성화 (`-Dspring.jpa.properties.hibernate.show_sql=false`)

 

  • -Dserver.port=8080

 역할: 서버가 리슨할 포트 설정

 설명: 애플리케이션이 8080 포트에서 요청을 수신하도록 설정.

 예시: 8099: 기본 포트 설정 (`-Dserver.port=8099`)

 

  • -Dspring.datasource.driver-class-name=org.mariadb.jdbc.Driver

 역할: 데이터베이스 JDBC 드라이버 클래스 설정 - 설명: MariaDB 데이터베이스에 연결하기 위한 JDBC 드라이버 지정. -   예시: - MySQL 드라이버: (`-Dspring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver`)

 

  • -Dspring.datasource.url= jdbc:mariadb://

 역할: 데이터베이스 연결 URL 설정

 설명: MariaDB 데이터베이스의 연결 정보를 정의.

 예시: MySQL URL: (`-Dspring.datasource.url=jdbc:mysql://`)

 

  • -Dspring.datasource.username=

 역할: 데이터베이스 사용자 이름 설정

 설명: 데이터베이스에 연결할 때 사용할 사용자 이름 지정.

 예시: 다른 사용자: (`-Dspring.datasource.username=anotherUser`)

  • -Dspring.datasource.password=

역할: 데이터베이스 비밀번호 설정

설명: 데이터베이스에 연결할 때 사용할 비밀번호 지정.

예시: 다른 비밀번호: (`-Dspring.datasource.password=anotherPassword!`)