본문 바로가기
Tomcat

[Tomcat] DATASOURCE(데이터베이스) 동적 속성 적용

by jn4624 2021. 4. 29.
반응형

1. 개발자 PC Eclipse TOMCAT 환경설정

a. Eclipse의 [server] 탭 프로젝트 관련 Tomcat을 더블클릭한 후 Open launch configuration 클릭

 

 

b. [Arguments] 탭 VM arguments 끝 부분에 -Dspring-profiles.active=[데이터베이스 구분자] 입력 후 저장

 

 

2. 고객사가 윈도우 Tomcat을 사용하는 경우

a. 설치된 Tomcat 경로/bin 폴더로 이동 후 tomcat7w.exe를 실행(버전 상관 없이 w가 붙은 exe 파일을 실행하면 된다.)

 

b. [Java] 탭 Java Options 마지막 줄에-Dspring.profiles.active=[데이터베이스 구분자] 입력 후 저장

 

 

3. 설정시 에러에 부딪혔다면

※ tomcat7w.exe 파일 실행시 만날 수 있는 에러

 

tomcat7w.exe를 실행하려 하는데

 

지정된 서비스가 설치된 서비스로는 없습니다.

Unable to open the service 'tomcat7'

 

와 같은 경고창이 뜰 경우 cmd에서 명령어를 통해 서비스를 등록해주어야 한다.

 

서비스 등록 방법: cmd창 열고 설치된 Tomcat 경로/bin 폴더로 이동 후 service.bat install tomcat7을 입력해주면 된다.

서비스 등록 삭제방법: service.bat remove tomcat7

 

※ 서비스를 등록할 시 만날 수 있는 에러

 

위와 같이 서비스를 등록하려 하는데

 

The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE

 

와 같은 메시지가 출력된 경우 cmd에서 명령어를 통해 JAVA_HOME을 내 컴퓨터에 설치된 jdk 폴더로 다시 셋팅해줘야 한다.

 

JAVA_HOME 셋팅방법: set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_251

 

4. 고객사가 리눅스 Tomcat을 사용하는 경우

a. Tomcat의 bin 디렉토리로 이동하여 setenv.sh 파일을 생성한다.

 

b. JAVA_OPTS=$JAVA_OPTS" -Dspring.profiles.active=[데이터베이스 구분자]' 작성 후 저장

 

 

5. XML - Tomcat에 지정한 Argument 값 사용

👉  context-datasource.xml 파일의 classpath 부분을 #{systemProperties['spring.profiles.active']}로 변경

 

 

이로써 프로젝트 패치시 데이터베이스 정보를 매번 변경하지 않아도 각 환경에 맞게 자동으로 셋팅되기 때문에

미변경으로 발생하는 문제점을 미연에 방지할 수 있게 되었다.

 

 

🙏 참조 ::

반응형

'Tomcat' 카테고리의 다른 글

[Tomcat] catalina.out 초기화  (0) 2021.03.03
[Tomcat] catalina.out 로그 관리  (0) 2021.03.03
[Tomcat] 같은 도메인 다른 포트 HTTP 세션 충돌  (0) 2021.03.03