30.12.2014 Views

new Debug (WTversion) Ko.pdf

new Debug (WTversion) Ko.pdf

new Debug (WTversion) Ko.pdf

SHOW MORE
SHOW LESS

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


감사합니다.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!