오늘은 어디로 갈까...

JavaRebel 본문

井底之蛙

JavaRebel

剛宇 2009. 5. 6. 17:38

 한마디로 표현한다면 Non-Stop Java development 을 가능하게 해주는 놈이다.
 변경된 클래스를 디플로이(deploy)할 필요없이 바로 반영시켜주는 아주 친절한 놈인데, 기술(?)이 상당히 탐이 난다.
 현재 제우스(JEUS 5.0)에서 사용하고 있는데, 작업시간(?)을 많이 줄여줘서 좋다.
 여기 프로젝트는 클래스로더 구조가 개판이라서 전체(?)를 대상으로 하면 이상한 에러를 뱉어내서 죽어비리는 현상이 있어, 웹 어플쪽만 대상으로 잡아서 사용중이다.
 아래놈(?)이 발생한 에러인데, 1.5.0.16 버그(?)라는 소문이 있어서 1.5.0.18로 업데이트 했더나 다른 에러를 뱉어내고 죽어버린다. 아마 현 프로젝트의 되먹지 못한 구조와 제우스의 네임밸류(?)로 인한 오류가 아닐까 조심스레 생각해보지만, 뭐 해결할 방법이 조심스럽게 사용하는 방법밖에 없다.

#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6db51d06, pid=2184, tid=4072
#
# Java VM: Java HotSpot(TM) Server VM (1.5.0_16-b02 mixed mode)
# Problematic frame:
# V  [jvm.dll+0x271d06]
#
# An error report file with more information is saved as hs_err_pid2184.log
#
# If you would like to submit a bug report, please visit:
#   


참고로 제우스는 가동되면 자바 프로세스가 2개 뜬다. JavaRebel을 사용할려면, 두번째(?) 자바 프로세스에 설치(?) 해줘야한다. 제우스 5.0 기준으로 설명하면 해당 엔진 컨테이너의 설정파일 즉, JEUSMain.xml의 <engine-container>아래의 <command-option> 안에 추가해줘야한다.
 뭐 이런~ 느낌이랄까.
<jeus-system xmlns="http://www.tmaxsoft.com/xml/ns/jeus">
	<node>
		<name>badnom</name>
		<engine-container>
			<name>container1</name>
			<command-option>
		  -noverify -javaagent:D:/dev/java/javarebel/javarebel.jar 
			-Xms512m -Xmx1024m -XX:MaxPermSize=256m
			</command-option>
		</engine-container>
	</node>
</jeus>


참고 : http://www.zeroturnaround.com/


http://www.flickr.com/photos/13534299@N04/2860226439/