EXEM (2016.09.29) LTW를 활용한 데이터 수집기 김경식.

Slides:



Advertisements
Similar presentations
Chap02 자바환경과 자바 프로그램 Section 1 : 자바 개발 환경 Section 2 : 자바 통합 환경 Section 3 : 자바 응용 프로그램과 애플릿 프로그램 Section 4 : 자바 응용 프로그램 Section 5 : 자바 애플릿 프로그램.
Advertisements

중등특수교육과 엄승현 이영재 이지수 속요에 대하여.
주사위를 이용한 땅 따먹기 청솔초 영재학급 4 학년 장 택 민 목차 1. 제작 동기와 원리 2. 필요한 도구 3. 게임규칙 설명 4. 게임 분석 및 전략 1. 제작 동기와 원리 2. 필요한 도구 3. 게임규칙 설명 4. 게임 분석 및 전략.
© IBM Corporation 2006 목 차목 차  자바 언어의 소개  자바 언어의 역사  자바 환경 설정 (JDK 1.5)  Documentation API 의 설치  Eclipse 의 설치와 사용법  HelloWorld.
금속의 종류와 액체의 성질에 따른 금속의 부식 창의적 산출물 연구 보고서 부명 초등 학교 임재윤 지도교사 노지은선생님
쯔쯔가무시 예방수칙을 실천하세요! 한국산업안전보건공단 광주지역본부.
교재:C언어로 쉽게 풀어 쓴 자료구조 (생능출판사, 천인국저)
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
최신 소프트웨어 공학 개요 11.1 컴포넌트 기반 소프트웨어 개발 11.2 웹 엔지니어링 11.3 정형적 명세 기법
Programming for the java Virtual machine
제6장 제어(Control) 6.1 구조적 프로그래밍(Structured Programming)
자바란 무엇인가? JDK의 다운로드 및 설치 방법 Hello, Java 프로그램의 작성 자바 프로그램의 작동 원리
Chapter 3. Architecture AI & HCI Lab 김 주 영.
16강. 자바 빈 빈 이란? 빈 만들기 빈 관련 액션 태그(useBean, getProperty, setProperty)
Chapter 02 자바 기본구조 자바 프로그래밍의 기초적인 문법을 소개
Power Java 제4장 자바 프로그래밍 기초.
소프트웨어공학 UML 학기.
2장. UML 기본 개념.
자바 5.0 프로그래밍.
AOP 개념 및 Spring의 AOP 기능.
6. 기본 클래스 프로그래밍 6 컴퓨터공학과 신동일.
1. 화면 및 메뉴소개 ▣ 온라인사업지원시스템 소개 ▶ 온라인사업지원시스템이란
소프트웨어설계 UML 학기.
2장 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램
Java IT응용시스템공학과 김형진 교수 2장. 자바의 환경 public class SumTest {
10강. AOP(Aspect Oriented Programming)-II
윤 홍 란 4 장 클래스 작성 윤 홍 란
DataScience Lab. 박사과정 김희찬 (월)
This, static, final 지정 예약어 자바 4대 중첩 클래스
Android Coding Convention
영원한 복음.
2009학년도 1학기 상지대학교 컴퓨터정보공학부 고 광 만
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
1. 논리적이란? 논리적이지 못하다 말이나 글에 두서가 없다. 1. 논리적이란? 논리적이지 못하다 말이나 글에 두서가 없다.
AOP (Aspect Oriented Programing)
1. 화면 및 메뉴소개 ▣ 온라인사업지원시스템 소개 ▶ 온라인사업지원시스템이란
자바 설치 매뉴얼 1. 실행중인 모든 프로그램을 종료한다. 2. 설치된 자바를 모두 제거한다.
DataScience Lab. 박사과정 김희찬 (월)
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
Ch.1 Iterator Pattern <<interface>> Aggregate +iterator
마을살이 제천덕산면을 중심으로 농촌공동체연구소장 한석주.
메소드와 클래스 정의 및 문제 풀이 Method and Class Define and Problem Solve
매스커뮤니케이션 신문 목원대학교 서 진 희.
프로그래밍 개론 Ⅰ 제 1장 . 서론 ①.
객체지향의 한계를 넘어, AOP 전은영,이재훈 고덕윤.
Chap. 14 성능향상시키기 PS Lab. 이지연.
[INA470] Java Programming Youn-Hee Han
Java Chapter 4 ~ 주차.
컴퓨터공학실습(I) 3주 인공지능연구실.
Spring DI 이해 및 활용.
비주얼 프로그래밍 1분반 화/목.
3장. 웹로직 서버에서의 서블릿과 JSP의 운용 3-1. 서블릿, JSP를 실행하기 전의 환경 설정
자바 5.0 프로그래밍.
1 [100인의 멘토] 학교로 찾아가는 진로교육 □ 목적 인천지역 자유학기제 대상 청소년에게 건설관련 전문분야에 대한 진로탐색을 통해 체계적인 진로교육을 실시 □ 개요 ○ 참가대상: 18개 학교(학교당 1학급 기준) *협의가능 ○ 활동장소 : 각 선정 학교.
JA V A W. 07 Sb.L.
속요 국어국문학과 김보민 국어국문학과 조나현 제목 창의적으로 바꿔야 함.
[ 단원 06 ] 상속과 다형성.
JVM의 구조와 메모리 모델 JVM의 내부 구조 클래스 파일 클래스 로더 메소드(method) 영역 힙(heap) 영역
식물의 성장조건 만 든 이 : 김지혁 지도교사 : 김경순선생님.
2015년 2학년 1반.
컴퓨터 프로그래밍: 실습 1 제 1장 . 서론.
Ⅱ. 축제 기획의 실제.
안드로이드 앱 분석 팀 기반의 설계 프로젝트 박민재
캡슐화 (Encapsulation) 두원공과대학 소프트웨어개발과 이 원 주.
자료구조 강의소개 정성훈 연락처 : 이메일 : 연구실 : 연219호 연락처 : 이메일 : 홈페이지: 정성훈.
실습과제 1번 /* 1. 멤버 변수로 반경 radius를 갖고, 그 값을 모니터에 출력하는
Java의 정석 제 7 장 객체지향개념 II-3 Java 정석 남궁성 강의
Chapter2 : 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합개발환경(IDE)
Java Programming for Beginners
Presentation transcript:

EXEM (2016.09.29) LTW를 활용한 데이터 수집기 김경식

Why AspectJ LTW? How to use AspectJ LTW Agent Collector Architecture

주로 소스코드가 없는 외부 라이브러리를 수정/빌드 하지 않고 변경하기 위해 사용 Why AspectJ LTW? NameNode 객체를 얻기 위해 사용 주로 소스코드가 없는 외부 라이브러리를 수정/빌드 하지 않고 변경하기 위해 사용

How to use AspectJ LTW MANIFEST.MF Can-Redefine-Classes: true Can-Retransform-Classes: true Premain-Class: org.aspectj.weaver.loadtime.Agent

How to use AspectJ LTW aop.xml <!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" "http://www.eclipse.org/aspectj/dtd/aspectj.dtd"> <!-- aspectj 설정은 META-INF/aop.xml로 암묵적으로 fix됨. --> <aspectj> <!-- -verbose 옵션으로 weaving process 정보 출력 --> <weaver options="-verbose"> <!-- 아래 package를 weave. --> <include within="org.apache.hadoop.hdfs.server.namenode.*"/> <include within="com.exem.flamingo.management.agent.nn.*"/> </weaver> <aspects> <!-- aspect 정의 --> <aspect name="com.exem.flamingo.management.agent.nn.NameNodeAspectJ"/> </aspects> </aspectj>

How to use AspectJ LTW @Aspect public class NameNodeAspectJ { private static final Logger LOG = LoggerFactory.getLogger(NameNodeAspectJ.class); /** * {@link org.apache.hadoop.hdfs.server.namenode.NameNode#initialize(Configuration)}에 대한 pointcut */ @Pointcut("execution(* org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(..))") public void aspectTargetMethod() { } /* * {@link NameNodeAspectJ#aspectTargetMethod()} 의 target이 완료 되었을때 method 실행 * @param joinPoint jointpoint */ @After("com.exem.flamingo.management.agent.nn.NameNodeAspectJ.aspectTargetMethod()") public void afterInit(JoinPoint joinPoint) { Namenode2Agent.start(joinPoint.getThis(), joinPoint.getArgs()); } }

How to use AspectJ LTW 메인클래스 실행 시 파라미터로 -javaagent:빌드한.jar 파일경로 (aspectjweaver.jar 필요)

How to use AspectJ LTW Java Application 구동 시 Premain-Class에 정의된 Class의 premain static method를 invoke 한다. (java.lang.instrument, javadoc) 기본 ClassLoader를 대체하여 aspectj에서 제공하는 WeavingClassLoader 사용 ClassFileTransformer interface의 구현체를 통해 클래스파일의 바이트코드를 변환하고 사용 (AspectJ LTW) 이후 실제 Application의 main method 를 호출 한다.

Collector Architecture

Q&A Q&A