new Debug (WTversion) Ko.pdf
new Debug (WTversion) Ko.pdf
new Debug (WTversion) Ko.pdf
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Windchill 개발을 위한 JavaAgent<br />
Upgrade Version 2.0<br />
E-mail : paradozz@paran.com
기존 Hotswap방법의 단점과 장점<br />
• Creating <strong>new</strong> classes (O)<br />
• Changing method bodies (O)<br />
• Adding/removing methods (X)<br />
• Adding/removing constructors (X)<br />
• Adding/removing fields (X)<br />
• Overriding methods (X)<br />
• Changing method or field types (X)<br />
• Changing interfaces (X)<br />
• Changing superclass (X)<br />
• Changing implemented interfaces (X)<br />
Java 의 hotswap으로 연<br />
동하면 단지 두가지 기<br />
능만을 사용할 수 있음.
JavaRevel의 장점<br />
• Creating <strong>new</strong> classes (O)<br />
• Changing method bodies (O)<br />
• Adding/removing methods (O)<br />
• Adding/removing constructors (O)<br />
• Adding/removing fields (O)<br />
• Overriding methods (O)<br />
• Changing method or field types (O)<br />
• Changing interfaces (O)<br />
• Changing superclass (O)<br />
• Changing implemented interfaces (O)<br />
클래스 의 모든 구조를<br />
제공함
JavaRebel을 사용하면 이런점이 좋다.!<br />
재 배포 할 필요가 없다. !<br />
재 시작 할 필요가 없다. !<br />
자동 빌드를 할 필요가 없다. !<br />
빠른 개발을 할 수 있다. !
JavaRebel이란 무엇인가<br />
• http://www.zeroturnaround.com/javarebel/<br />
• JavaRebel 은 에플리케이션 서버나 stand-only의 프로그램을 재 시작<br />
또는 재 배포할 필요 없이 class파일을 자동으로 읽어준다.
JavaRebel의 기능<br />
• Class와 interface의 method들을 추가,삭제,수정 지원.<br />
• Class의 필드를 추가,삭제,수정 지원.<br />
• 생성자를 추가,삭제,수정 지원.<br />
• Method의 오버라이딩 지원.<br />
• 새로운 클래스를 만들거나 이름 수정 지원<br />
• Parameter나 return type 또는 field타입의 수정 지원<br />
• 상수의 수정 지원, 그러나 재 초기화는 불가능<br />
(Class Loader측에서 어떻게 보면 당연함)
Windchill9.0과의 연동방법<br />
• Download : http://www.zeroturnaround.com/releases/javarebel-<br />
1.0.1.zip<br />
• Copy to ‘%WT_HOME%/codebase/WEB-INF/lib/javarebel.jar’<br />
• Command > windchill start – here!<br />
windchill start -javaagent:D:\ptc\Windchill_9.0\Windchill\codebase\WEB-INF\lib\javarebel.jar
데모<br />
<strong>Debug</strong> start
데모<br />
Ant build file add<br />
http://paradozz.springnote.com/pages/712100
데모<br />
Base Ant build file<br />
(Eclipse Builders)
데모<br />
Add Inlineclass<br />
Realtime depoly(javaRebel), don’t server restart<br />
Eclipse hotkey (control+B) : class file copy
Other feature..<br />
1. Changing, adding and removing class/interface methods<br />
2. Changing, adding and removing class fields<br />
3. Changing, adding and removing class constructors<br />
4. Overriding existing methods<br />
5. Creating <strong>new</strong> classes or renaming old ones (as long as some other class<br />
superclass doesn’t change)<br />
6 .Changing method parameter or return types or field type without<br />
changing its name<br />
7. Changing, adding and removing class/interface constant fields is<br />
supported, but will not get reinitialized and thus is only useful for<br />
primitive types and Strings<br />
All-signature support
감사합니다.