티스토리 뷰

Programming/Java

JMX - mBean

Albothyl 2018. 11. 15. 21:47

1. JMX 란?


- JMX는 JCP(Java Community Process)에 의해 개발된 아래 두가지 스펙에 의해 정의된다.

- JSR 3   : Java Management Extensions (JMX) Specification

- JSR 160 : Java Management Extensions (JMX) Remote API 1.0에 의해 정의된다.

** JSR (Java Specification Request)

- JDK 1.5부터 기본적으로 탑재되어 제공되고 있다. 

- 자바 어플리케이션의 모니터링과 관리 기능을 제공한다.

- Non-Java resources와 하드웨어에 대해 wrapping한 인터페이스를 제공하며, API를 외부로 노출해 application 설정 및 통계데이터를 수집할 수 있다. 

- 하나 이상의 사용자 JavaBean (mBean) 오브젝트를 통해 애플리케이션, 디바이스, 서비스를 원격으로 제어할 수 있다. 

- mBean들은 mBeanServer에 등록된다. 

- mBean서버는 리소스에 접근하기 원하는 모든 원격 매니저에 대한 관리 에이전트 역할을 한다.



2. JMX Architecture



- Instrumentation Tier

- 어플리케이션, 디바이스, 서비스와 같은 리소스들이 mBean 자바 오브젝트로 정의되어 속성과 연산을 관리한다.


- Agent Tier

- mBean이 등록되는 mBeanServer이며, mBean을 핸들링하기 위한 서비스들을 포함하고 있어 리소스를 제어하고 관리가 가능하다.


- Remote Management Tier

- 외부 application에서 접근할 수 있는 프로토콜 어덥터(adaptor)와 커넥터(connector)를 정의한다.



3. mBean의 종류


- Standard mBean.

- 가장 일반적인 타입의 mBean.


- Dynamic mBean 

- javax.management.DynamicMBean인터페이스를 사용하여 프로그램적으로 구현한 mBean.


- Model MBean (Dynamic mBean의 한 종류)

- 관리 인터페이스와 실제 리소스가 프로그램적으로 설정되도록 구현한 mBean. 


- Open mBean

- 응용 프로그램에 열려있는 mBean



4. sample code

https://github.com/albothyl/jmx_sample

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

Reflection  (0) 2019.06.18
LocalDateTime  (0) 2019.03.11
StringBuffer, StringBuilder  (0) 2016.08.23
자료구조  (0) 2016.08.22
Generic  (0) 2016.08.22
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함