검색
다른 검색어로 검색을 시도하시기 바랍니다.
JavaAgents 사용하기.
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을 제작하는 것이 가능하다.