Hot Deploy - 3 ways to save development time ( spring-loaded , JRebel, DCEVM )


1. Auto Reload

Set  "Enabled" to "Auto Reload"


  • This is likely to occur more frequently memory leak, it takes more time to reload.

이 방법은 memory leak 이 더 자주 발생할 가능성이 크고, 리로딩 하는 시간이 더 많이 소요된다.

2. JRebel 


Installation


  • JRebel Config Center -> Activation Tab -> Free -> Login -> Install and Activate -> Copy License Code -> Paste license code on eclipse ->   Overview tab -> check JRebel Enabled /Server , Projects 




  • Server Overview -> select "Never publish automatically" on  Publishing tab -> check "Enable JRebel agent"




  • Project Left click -> JRebel -> Add Jebel nature



  • JRebel free license version other than the cost should be paid.
  • The installation process is a little complicated.
  • But first, rather than memory leak may occur


  • JRebel free license 버전이외는 비용지불을 해야 한다. 
  • 설치과정이 다소 복잡하다. 
  • memory leak이 발생하지만 1번과 비교할 바는 아니다. 
  • 가장 안정된 솔루션

3. spring-loaded 


Installation 


  • Server Overview tab -> Open launch configuration -> Arguments tab -> VM arguments -> add argument "-javaagent:/{download-path}/springloaded-{version}.jar -noverify"















오픈소스이고 spring bean에 관련된 것이라는 곳에 한정되어 있는듯 하다



4. DCE VM

  최근에 알게된 hot swap을 지원해주는 오픈소스인데 agent방식이 아닌 jvm.dll을 직접
  교체하여 hot swap을 지원해주는 방식이여서 개발환경에만 적용가능 할듯 하다.

  테스트 결과 빠른 속도로 swap이 일어나지만 jdk버전에 따른 jvm.dll을 구하고 교체해 줘야
  하는등 여러가지 제약사항이 있다.


  홈페이지 http://ssw.jku.at/dcevm/ 에서 제공하는 설치파일로는 install이 되지 않고
  http://javainformed.blogspot.kr/2014/01/jrebel-free-alternative.html 이 사이트에서
  제공하는 가이드와 window용 파일이 잘 적용이 되었다.


   install

   https://dl.dropboxusercontent.com/u/62224416/j2re-dcevm-win64.zip 파일을 다운받아 압축을
   푼다.

   
window -> preferences -> Installed JREs -> Add -> Standard VM -> 압축푼 디렉토리 선택

Installed JREs-> Execution Environments -> JavaSE-1.7 -> j2re-decvm 선택


Server -> Runtime Environments -> Apache Tomcat -> Edit 버튼 -> JRE에 j2re-dcevm 선택
















댓글

이 블로그의 인기 게시물

Charset 변환 ( EUC-KR, UTF-8, MS949, CP933 )

GZipUtils- gzip을 통한 압축시 charset처리

ESAPI ( XSS, Sql Injection )