Java Management Extensions
Java Management Extensions ( JMX ) er en spesifikasjon utviklet av Java Community Process (JSR-3) for administrasjon og overvåking av Java-applikasjoner . Deler av JMX-spesifikasjonen er allerede integrert i Java 1.5 standard API og har blitt utvidet kraftig med Java 6 . JMX er ikke bare en passende teknologi for å kontrollere oppførselen til systemer, men letter også kommunikasjonen av forskjellige Java-programmer. I den opprinnelige API-en støttet JMX bare kommunikasjon i en JVM ( Java Virtual Machine ), men siden Java versjon 6 har den også støttet kommunikasjon med andre JVM-er. Dette er mulig gjennom støtte fra adaptere og kontakter . Dette gjør det enkelt å implementere et HTTP- adapter, og applikasjonen kan styres via en nettleser . Hvis systemet skal integreres i et eksisterende administrert nettverk, kan adaptere for SNMP eller CIM / WBEM legges til i applikasjonen.
Infrastruktur
JMX er delt inn i tre hovednivåer.
| Etternavn | beskrivelse |
|---|---|
| Distribuert servicenivå | Dette nivået er ennå ikke definert i spesifikasjonen; dens faktiske oppgave er å gi grensesnitt for kommunikasjon med komponenter på agentnivået. (Dette kan for eksempel være en nettleser eller en spesialskrevet klient.) |
| Agentnivå | På dette nivået defineres agenter som er ansvarlige for kommunikasjon med instrumentasjonsnivåets ressurser. |
| Instrumentasjonsnivå | Ressurser (komponenter som skal administreres) som overvåkes eller konfigureres ved hjelp av MBeans , ligger på dette nivået . |
De såkalte MBeans (se Typer MBeans (Managed Beans) ) er registrert på instrumentasjonsnivået . Disse Java- objektene administreres av såkalte agenter. MBeans er tilgjengelig direkte via distribuert servicenivå. Synligheten er definert i MBeans. Ferdige HTTP-adaptere for JMX er tilgjengelige, noe som gjør det mulig å endre verdiene til en Java-applikasjon direkte via en nettleser.
JConsole
JConsole er et GUI- program fra Sun som kan brukes til å administrere MBeans. Den er inkludert som standard siden JDK 1.5.
Typer MBeans (administrerte bønner)
Ulike typer MBeans har blitt etablert de siste årene for å håndtere et bredt spekter av oppgaver.
- Standard MBean
- Dynamisk MBean
- Modell MBean
- Åpne MBean
De vanlige MBeans kan dannes ved å definere grenseflater som har navn som ender med "MBean".
Dynamiske MBeans er bygget i løpet av kjøretiden og kan også endres i løpet av kjøretiden. For øyeblikket kan attributter og metoder bare beskrives for de dynamiske MBeanene. Dette vil bare være mulig med standard MBeans ved hjelp av merknader.
De Modell MBeans er svært lik de dynamiske seg , men også ha en "lese" og "skrive" metoden med hvilke verdier lagres i en fil eller i en database. OnTimer-funksjoner kan brukes her, eller logging kan defineres ved hjelp av varslingsbehandleren. En annen fordel med Model MBeans er at de kan opprettes direkte i agenten.
De Åpne MBeans bare har standard Java-typer tilgjengelig, men med denne egenskapen de har bedre muligheter til å kommunisere med andre programmer utenfor prosjektet.
Tjenester fra JMX
JMX tilbyr også ulike tjenester som er interessante for håndtering og overvåking.
- M-Let service
- Timer-tjeneste
- Observere
Den M-Let service gir deg muligheten til å laste klasser under kjøring tid. Denne prosessen kan automatiseres via versjonskontroll ved hjelp av bootstrap class loader .
Periodiske systemobservasjoner kan utføres med timertjenesten . Varsler kastes med forhåndsdefinerte tidsintervaller som kan avlyttes og behandles av en lytter.
Med skjermen klasse, kan individuelle variabler (målbare parametere) av en MBean overvåkes uten at deres indre struktur å være kjent. Det er tre typer avledet fra denne skjermen.
- Tellermonitor
- Målermonitor
- Strengmonitor
Den Counter Monitor er først og fremst egnet for periodiske observasjoner. Den Måleren monitor kan overvåke tilslutning til forhåndsdefinerte grenser, og kaster en varsling når hendelsen oppstår . De streng monitor overvåker målbare parametere for å se om de holder det samme, eller om de endres.
Implementeringer
Følgende Java-applikasjoner (spesielt applikasjonsservere og servletcontainere) tilbyr en implementering av JMX som går utover implementeringen levert med Java Runtime Environment siden Java 5 :
- Apache Geronimo
- Apache Tomcat
- GlassFish
- Oracle Weblogic (tidligere BEA Weblogic)
- IBM Websphere
- JBoss Application Server
- Oracle Application Server
- mx4j (bare JMX-server)
litteratur
- J. Steven Perry: Java Management Extensions . O'Reilly, ISBN 0-596-00245-9
- Marc Fleury, Juha Lindfors: JMX: Administrere J2EE med Java Management Extensions . Sams Publishing, ISBN 0-672-32288-9
- Jeff Hanson: Koble til JMX-klienter og servere: Forstå Java Management Extensions . ATrykk på LP, ISBN 1-59059-101-1
- Benjamin G. Sullins: Mark B Whipple: JMX i aksjon: Du vil også få din første JMX-applikasjon i gang . Manning Publications, 2002, ISBN 1-930110-56-1
- Lars Wunderlich: Administrere Java . Developer Press, ISBN 978-3-939084-13-6
weblenker
- Java Management Extensions (JMX) på Oracle (Sun)
- Java Community Process-nettside
- JMX på JBoss.com
- JSR 255 (JMX 2.0)
- JSR 160 JMX Remote API
- JSR 3 (JMX 1.0, 1.1 og 1.2)
- gjenstander
- Marc Fleury, Juha Lindfors: Aktivering av komponentarkitekturer med JMX .
- Andreas Schaefer: Introduksjon til en ny leverandør-nøytral J2EE Management API .
- Max Goff: Java i administrasjonssfæren .
- Lucas McGregor: Administrere J2EE-systemer med JMX og JUnit .
- JMX / JBoss - Microkernel- design