Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

JRebel 설정하기

ZERO TURNATOUNDJRebel는 워낙 유명한 도구이기는 하지만 이번에 처음으로 직접 사용해보고 있습니다. 일반적으로 뷰파일들은 수정하면 바로 적용이 되지만 자바소스를 수정한 경우는 WAS를 리스타트 해주어야 하는데 간단한 애플리케이션아니면 올라가야하는 컨텍스트들도 많기 때문에 수정할때마다 리스타트를 기다리는 것은 상당히 고역인데 JRebel은 수정할 경우 바로 적용할 수 있게 해주는 Hot swapping 기능을 제공해 주어 개발 생산성을 상당히 높혀줍니다.

사실 작년 JCO에서도 그렇고 올초에도 JReble의 기간라이센스를 받기는 했었는데 그동안 주로 자바개발을 하지 않았던 관계로 제대로 쓰지도 못하고 기한이 만료되었었는데 이제는 자바개발을 하고 있기 때문에 JRebel을 사용하고 있습니다.



이클립스를 사용할 경우 JRebel에 대한 설치는 일반적인 플러그인처럼 업데이트사이트에서 플러그인을 설치하면 되고 설치가이드에 따라 jar와 라이센스파일을 설정해 주면 됩니다.(설치는 어렵지 않아서 생략)

톰캣의 퍼블리싱 설정

기본적으로 Tomcat의 설정에서 자바소스 수정시 자동으로 퍼블리싱되도록 Automatically publish when resources change가 선택되어 있는데 JReble로 핫스와핑을 할 것이므로 Never publish automatically로 바꾸어 줍니다.

톰캣 설정의 JRebel Integration 설정부분

이어서 JReble 플러그인 설치우에는 톰캣설정에 JReble Integration이라 탭에서 Enable JRebel agentEnable debug logging에 체크를 해 줍니다.

rebel.xml을 설정하는 메뉴

이제 프로젝트의 메뉴에서 Generate rebel.xml을 선택해서 rebel.xml을 생성해 주어야 합니다.

프로젝트에 설정된 rebel.xml

일반적으로는 src폴더를 선택해서 rebel.xml을 생성해주고 메이븐 프로젝트라면 src/main/resourcesrebel.xml을 만들어야 정상적으로 JRebel을 사용할 수 있습니다. 이제 자바소스를 수정하면 WAS를 재시작하거나 퍼블리싱하는 것 없이 바로 적용되는 것을 볼 수 있습니다.
2011/06/01 02:51 2011/06/01 02:51