Rozšíření pro správu Java - Java Management Extensions - Wikipedia
Rozšíření pro správu Java (JMX) je Jáva technologie, která dodává nástroje pro správu a monitorování aplikace, systémové objekty, zařízení (např tiskaři ) a sítě orientované na služby. Tyto prostředky jsou reprezentovány objekty zvanými MBeans (pro Managed Bean ). V API třídy lze dynamicky načítat a vytvářet instance. Řídicí a monitorovací aplikace lze navrhovat a vyvíjet pomocí Sada Java Dynamic Management.
JSR 003[1] z Proces komunity Java definované JMX 1.0, 1.1 a 1.2. JMX 2.0 byl vyvíjen pod JSR 255, ale tento JSR byl následně stažen.[2] Rozhraní JMX Remote API 1.0 pro vzdálenou správu a monitorování specifikuje JSR 160.[3] V rámci JSR 262 bylo vyvíjeno rozšíření JMX Remote API pro webové služby.[4]
Přijato brzy J2EE komunita, JMX je součástí J2SE od verze 5.0. "JMX" je ochranná známka společnosti Oracle Corporation.
Architektura

JMX používá tříúrovňovou architekturu:
- The Sonda úroveň - také nazývaná Instrumentace úroveň - obsahuje sondy (tzv MBeans ) přístrojové vybavení zdroje
- The Činidlo level, nebo MBeanServer - jádro JMX. Funguje jako prostředník mezi MBean a aplikacemi.
- The Vzdálená správa úroveň umožňuje vzdáleným aplikacím přístup k serveru MBeanServer prostřednictvím konektorů a adaptérů. Konektor poskytuje úplný vzdálený přístup k rozhraní MBeanServer API pomocí různých komunikací (RMI, IIOP, JMS, WS- * …), Zatímco adaptér přizpůsobuje API na jiný protokol (SNMP,…) Nebo na webové grafické uživatelské rozhraní (HTML /HTTP, WML /HTTP, …).
Aplikace mohou být generické konzoly (například JConsole[5] a MC4J[6]) nebo aplikace specifické pro doménu (monitorování). Externí aplikace mohou komunikovat s MBeans pomocí konektorů JMX a adaptérů protokolu. Konektory slouží k připojení agenta ke vzdálené aplikaci pro správu s povoleným JMX. Tato forma komunikace zahrnuje konektor v agentu JMX a klienta konektoru v aplikaci pro správu.
Adaptéry protokolu poskytují pohled na správu agenta JMX prostřednictvím daného protokolu. Aplikace pro správu, které se připojují k adaptéru protokolu, jsou obvykle specifické pro daný protokol.
Řízené fazole
A řízená fazole - někdy jednoduše označované jako MBean - je typ JavaBean, vytvořeno pomocí injekce závislostí. Managed Beans se používají zejména v technologii Java Management Extensions - ale s Java EE 6 specifikace poskytuje podrobnější význam spravované fazole.
MBean představuje prostředek spuštěný v Virtuální stroj Java, například aplikace nebo technická služba Java EE (monitor transakcí, ovladač JDBC atd.). Mohou být použity ke shromažďování statistik o obavách, jako je výkon, využití zdrojů nebo problémy (pull); pro získání a nastavení konfigurace nebo vlastností aplikace (push / pull); a oznamování událostí, jako jsou poruchy nebo změny stavu (push).
Java EE 6 stanoví, že spravovaná fazole je fazole, která je implementována třídou Java, která se nazývá třída fazole. Třída Java nejvyšší úrovně je spravovaná fazole, pokud je definována jako spravovaná fazole jakoukoli jinou specifikací technologie Java EE (například Tváře JavaServeru specifikace technologie), nebo pokud splňuje všechny následující podmínky:
- Není to nestatická vnitřní třída.
- Je to konkrétní třída nebo je opatřena poznámkami
@Dekorátor
. - Není anotován anotací definující komponenty EJB ani deklarován jako třída fazole EJB v
ejb-jar.xml
.
K definování spravovaného objektu bean není vyžadováno žádné speciální prohlášení, například anotace.
MBean může MBeanServer upozornit na své vnitřní změny (pro atributy) implementací javax.management.NotificationEmitter
. Aplikace, která se zajímá o změny MBean, zaregistruje posluchače (javax.management.NotificationListener
) na MBeanServer. Upozorňujeme, že JMX nezaručuje, že posluchači obdrží všechna oznámení.[7]
Typy
Existují dva základní typy MBean:
- Standardní MBeans implementovat obchodní rozhraní obsahující settery a getery pro atributy a operace (tj. metody).
- Dynamic MBeans implementovat
javax.management.DynamicMBean
rozhraní, které poskytuje způsob, jak vypsat atributy a operace a získat a nastavit hodnoty atributů.
Další typy jsou Otevřené MBeans, Model MBeans a Sledovat MBeans. Otevřené MBeans jsou dynamické prostředky typu Bean, které se spoléhají na základní typy dat. Jsou srozumitelné a uživatelsky přívětivější. Model MBeans jsou dynamické prostředky typu Bean, které lze konfigurovat za běhu. Obecná třída MBean je také k dispozici pro dynamickou konfiguraci prostředků během běhu programu.
MXBean (Platforma MBean) je speciální typ MBean, který reifikuje Virtuální stroj Java subsystémy jako např odvoz odpadu, Kompilace JIT, fondy paměti, vícevláknové, atd.
MLet (Applet pro správu) je nástroj MBean pro načítání, vytváření instancí a registraci MBeans v MBeanServeru z XML popis. Formát deskriptoru XML je:[8]
<MLET CODE = ''class'' | OBJECT = ''serfile'' ARCHIVE = ''archiveList'' [CODEBASE = ''codebaseURL''] [NAME = ''objectName''] [VERSION = ''version''] > [arglist] </MLET>
Podpěra, podpora
JMX je podporován na různých úrovních různými prodejci:
- JMX podporuje Java aplikační servery například OpenCloud Rhino Application Server [1], JBoss, JONAS, WebSphere Application Server, WebLogic, Aplikační server SAP NetWeaver, Oracle Application Server 10g a Sun Java System Application Server.
- JMX je podporován UnboundID Directory Server, Directory Proxy Server a Synchronization Server.[9]
- Správa systémů zahrnují nástroje podporující protokol Empirix OneSight, GroundWork Monitor, Hyperic, HP OpenView, Ředitel IBM, ITRS Geneos, Nimsoft NMS, OpenNMS,[10] Zabbix, Zenoss Core a Zyrion, Solarwinds, Monitorování provozuschopnosti infrastruktury a LogicMonitor.[11]
- JMX také podporuje servletové kontejnery jako Apache Tomcat.[12] & Jetty (webový server)
- MX4J [2] je Open Source JMX pro Enterprise Computing.
- jManage [3] je open source podniková konzole JMX s webovým rozhraním a rozhraním příkazového řádku.
- MC4J [4] je otevřená vizuální konzole pro připojení k serverům podporujícím JMX
- snmpAdaptor4j [5] je otevřený zdroj poskytující jednoduchý přístup k MBeanům prostřednictvím protokolu SNMP.
- jvmtop je odlehčený open source monitorovací nástroj JMX pro příkazový řádek
Viz také
Reference
- ^ JSR 003: Specifikace JavaTM Management Extensions (JMXTM)
- ^ JSR 255: Specifikace JavaTM Management Extensions (JMXTM), verze 2.0
- ^ JSR 160: Vzdálené API pro správu JavaTM (JMX)
- ^ JSR 262: Konektor webových služeb pro agenty Java Management Extensions (JMX)
- ^ Sledování aplikací pomocí JConsole
- ^ „Projekt MC4J vytváří software pro správu aplikačních serverů J2EE a dalších aplikací Java“. Archivovány od originál dne 23.03.2007. Citováno 2006-08-27.
- ^ Rozšíření pro správu Java (JMX) - Osvědčené postupy
- ^ „MLet (Java 2 Platform SE 5.0)“. Sun Microsystems. Citováno 2008-06-22.
- ^ UnboundID Corp. Archivováno 06.03.2012 na Wayback Machine
- ^ http://www.opennms.org/wiki/Category:JMX
- ^ „Sběr dat JMX“. www.logicmonitor.com. Citováno 2020-11-20.
- ^ Apache Tomcat 6.0: Monitorování a správa Tomcat (Tomcat manuál)
Další čtení
Články
- "Povolení architektury komponent pomocí JMX „Marc Fleury a Juha Lindfors
- "Představujeme nové Vendor-Neutral J2EE Management API „Andreas Schaefer
- „Java ve sféře správy“ Max Goff 1999
- JMX / JBoss - The mikrokernel design
- "Spravujte své aplikace podporující JMX pomocí jManage 1.0 „Rakesh Kalra 16. ledna 2006
- "Správa systémů J2EE pomocí JMX a JUnit „Lucas McGregor
- Sun Java - přehled monitorování a správy
- Výukový program Java EE 6: O spravovaných fazolech
Knihy
- Benjamin G Sullins, Mark B Whipple: JMX v akci: Získáte také svoji první aplikaci JMX, Manning Publications Co. 2002, ISBN 1-930110-56-1
- J. Steven Perry: Rozšíření pro správu JavaO'Reilly, ISBN 0-596-00245-9
- Jeff Hanson: Připojení klientů a serverů JMX: Vysvětlení rozšíření pro správu Java, APress L. P., ISBN 1-59059-101-1
- Marc Fleury, Juha Lindfors: JMX: Správa J2EE s rozšířeními pro správu Java, Sams Publishing, ISBN 0-672-32288-9
externí odkazy
- JMX 1.4 (JMX 1.4, součást Java 6)
- JMX na JBoss.com
- JMX na www.oracle.com
- JSR 255 (JMX 2.0)
- JSR 3 (JMX 1.0, 1.1 a 1.2)