▶이동
  • 상구너 닷컴 블로그를 방문하신 여러분을 환영합니다 :)
  • 스팸 정책에 의해 일부 덧글·방명록차단될 수 있습니다.

JavaAgents 사용하기.

Study/Java 상구너(smokingbird) 2014.08.22 13:37

javaagent 제작에대한 국내 자료가 상당히 없는거같다. 그나마 제니퍼소프트에서 만드는 제니퍼 자료가 구할만한 자료 .. 라고 해야하나... 게다가 자바에이전트에대한 설명은 무지 어렵거나 스쳐지나갈뿐 ....


아무튼


설명이 되어있는 자바독은 

http://docs.oracle.com/javase/8/docs/api/java/lang/instrument/package-summary.html



자바 에이전트의 기능은 하나라고 생각한다.

다른 함수(main) 이 실행되기전에 혹은 실행하면서, JVM 뜨면서 등으로 클래스를 로드하고 수행해주는 역할 정도일거다.


본 블로그에서 다루는 bcel/asm 등의 bci 기술과 접목시킨다면 실시간 클래스 분석도 가능해진다. (APM 대부분이 그런 같은 방법사용)


다음 내용은 

http://stackoverflow.com/questions/11898566/tutorials-about-javaagents

를 참고했다.


premain 을 이용한 예제.

1. main 과 비슷하게 premain 을 선언한다.

2. manifest.mf 혹은 .txt 파일을 만들어 Premain 에대한 정보를 준다.(Premain 의 위치)

Premain-Class: ex.ex.Example

(주의! ':'뒤에 띄어쓰기,클래스명뒤에 띄어쓰기, 마지막에 줄바꿈 꼭 할것 )

3. jar로 매니페스트와 함께 묶어주기.

4. 실행하기

java -javaagent:exagent.jar targetclass

(주의! 실행할 클래스는 자바에이전트의 선언 이후에 써야한다.)


이 방법들과 bcel, AOP 기법들을 이용해 APM을 제작하는 것이 가능하다.

저작자 표시 비영리 변경 금지
신고

'Study > Java' 카테고리의 다른 글

JavaAgents 사용하기.  (1) 2014.08.22
1 0
  • 공지사항
    중요한 개인정보필요한 경우가 아닌 경우 적지 마시고, 적으셨다면 비밀글 설정을 꼭 해주시기 바랍니다.
    스팸 필터 정책에 의해 영문만으로 작성된 글이나 무의미한 내용의 글은 등록이 되지 않을 수도 있습니다.
  • 김회장 2014.09.22 20:55 신고
    오... 뭔가 겁나 잘 만들엇다!!
    티스토리같다
  • 1