====== Hot Deploy ======
* description : How to set Hot Deploy to Tomcat Server
* author : 오션, slaptear
* email : shlim@repia.com, sgjang@repia.com
* lastupdate : 2023-02-01 Wed
\\
===== Hot Deploy =====
* 서버 실행 중 수정된 Java 소스가 배포될 경우 서버를 재가동하지 않고 변경된 Java 소스를 바로 적용하는 기능\\
* 서버 무중단 배포 기능
==== Step ====
* 먼저 Eclipse의 JAVA 버전 확인 후 진행합니다.
* 만약 Eclipse의 JAVA 버전이 **//''1.8''//**일 경우 아래와 같이 진행합니다.
* Eclipse의 JAVA 버전이 11일 경우 Tomcat Runtime의 JRE 버전이 **//''Workbench default JRE''//** 로 기본 설정되어 있어서 실행 시 서버가 중단되는 오류가 생깁니다.
* Tomcat Runtime의 JRE 버전을 **//''1.8''//**로 변경하여야 합니다. ([[wiki:was:tomcat:hot_deploy#tomcat_runtime_jre_버전_변경|변경하는 방법]])
1. MVN Repository - Springloaded 1.2.8.RELEASE에서 **//''springloaded-1.2.8.RELEASE.jar''//**를 다운로드 (아래 이미지를 클릭하여 이동합니다)\\
\\
[[https://mvnrepository.com/artifact/org.springframework/springloaded/1.2.8.RELEASE|{{:wiki:was:tomcat:hotdeploy01.png?500|}}]]\\
\\
2. springloaded를 적용할 프로젝트의 Tomcat Server를 더블 클릭합니다.\\
\\
3. Tomcat Server의 Overview 화면에서 **Open launch configuration**를 클릭합니다.\\
\\
{{:wiki:was:tomcat:hotdeploy02.png?500|}}
\\
4. Edit Configuration properties 팝업 > Arguments 탭 > VM arguments:에 하기의 내용을 입력 > Apply > OK \\
\\
-javaagent:설치경로 -noverify // form
-javaagent:D:\downloaded_programs\springloaded-1.2.8.RELEASE.jar -noverify // example
\\
{{:wiki:was:tomcat:hotdeploy03.png?500|}}
\\
5. Tomcat Server의 Overview 화면에서\\
* Server Options 메뉴의 모든 하위 옵션들을 체크 해제
* Publishing 메뉴의 하위 옵션 중 **Automatically publish when resources change**를 체크 확인
{{:wiki:was:tomcat:hotdeploy04.png?500|}}
\\
6. Tomcat Server의 Overview 화면에서\\
* 하단의 Modules 탭을 클릭
* Path를 선택
* 우측의 Edit 클릭
* Edit Web Module 팝업에서 **Auto reloading enabled**를 체크 해제 > OK
\\
{{:wiki:was:tomcat:hotdeploy05.png?500|}}
\\
--> springloaded가 적용되고, 코딩 후 저장을 하면 WAS 재가동 없이 변경된 내용이 적용됨을 확인할 수 있습니다.
\\
==== Source of this article ====
[[https://m.blog.naver.com/dktmrorl/222045899282|[IT정보]핫 디플로이(Hot Deploy) 개념]]\\
\\
[[https://oingdaddy.tistory.com/33|Eclipse, tomcat 환경에서 hot deploy 적용하기 (with springloaded)]]\\
==== Tomcat Runtime JRE 버전 변경 ====
* Eclipse의 JRE 버전을 1.8로 변경
* 'Servers' > 해당 서버 > 'Overview' > 'Runtime Environment' 에서 **//''Installed JREs''//** 클릭
{{wiki:was:tomcat:hot_deploy:tomcat_runtime_environment_1_.png?500}}
* 아래와 같이 1.8 JRE 추가
{{wiki:was:tomcat:hot_deploy:tomcat_runtime_environment_2_.png?500}}
{{wiki:was:tomcat:hot_deploy:tomcat_runtime_environment_3_.png?500}}
{{wiki:was:tomcat:hot_deploy:tomcat_runtime_environment_4_.png?500}}
* 1.8 JRE 추가한 뒤에 선택
{{wiki:was:tomcat:hot_deploy:tomcat_runtime_environment_5_.png?500}}
* 아래와 같이 **//''--add''//** 부분 모두 지우고 위와 동일하게 **//''[[wiki:was:tomcat:hot_deploy#step|Hot Deploy 적용]]''//** 한 뒤에 실행
{{wiki:was:tomcat:hot_deploy:tomcat_runtime_environment_6_.png?800}}
{{tag>오션 slaptear tomcat was hot deploy hotdeploy}}