Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger

 << zurück
Java ist auch eine Insel von Christian Ullenboom
Programmieren für die Java 2-Plattform in der Version 5
Java ist auch eine Insel

Java ist auch eine Insel
5., akt. und erw. Auflage
1454 S., mit CD, 49,90 Euro
Galileo Computing
ISBN 3-89842-747-1
gp Kapitel 23 Java Management Extensions (JMX)
  gp 23.1 Überwachen von Systemzuständen
  gp 23.2 MBean-Typen, MBean-Server und weitere Begriffe
    gp 23.2.1 MBeans des Systems
  gp 23.3 JConsole
  gp 23.4 Der MBeanServer
  gp 23.5 Eine eigene Standard-MBean


Galileo Computing

23.5 Eine eigene Standard-MBeatoptop

Auf dem Weg zu einer eigenen Bean müssen wir erst aus den MBean-Typen wählen. Da eine Standard-MBean der einfachste Typ ist, wollen wir diesen nutzen und mit der Definition der MBean-Schnittstelle beginnen. Sie definiert Setter/Getter, die später über die JConsole nutzbar sind, und Operationen, die wir ebenfalls über die JConsole anstoßen können. Der Name der Schnittstelle muss mit MBean enden!

Listing 23.4   com/javatutor/insel/jmx/DiskoMBean.java

package com.javatutor.insel.jmx;
public interface DiskoMBean
{
  public void setAnzahlPersonen( int anzahlPersonen );
  public int  getAnzahlPersonen();
  public void alarm();
}

Als Nächstes implementieren wir die Klasse, die die Schnittstelle implementiert. Das ist unsere Disko. (Eigentlich sollten die Geschäftsobjekte nicht selbst die MBeans sein. Doch das ist in unserem Beispiel o.k.)

Listing 23.5   com/javatutor/insel/jmx/Disko.java

package com.javatutor.insel.jmx;
public class Disko implements DiskoMBean
{
  private int anzahlPersonen;
  public void setAnzahlPersonen( int anzahlPersonen )
  {
    this.anzahlPersonen = anzahlPersonen;
  }
  public int getAnzahlPersonen()
  {
    return anzahlPersonen;
  }
  public void alarm()
  {
    System.out.println( "Heul. Huhuhuhu." );
  }
}

Der letzte Teil ist der Server, der die MBean anmeldet:

Listing 23.6   com/javatutor/insel/jmx/RegisterDiskoMBean.java

package com.javatutor.insel.jmx;
import java.lang.management.ManagementFactory;
import javax.management.*;
import javax.swing.JOptionPane;
public class RegisterDiskoMBean
{
  public static void main( String[] args ) throws Exception
  {
    MBeanServer server = ManagementFactory.getPlatformMBeanServer();
    ObjectName name = new ObjectName( "com.javatutor.insel.jmx:type=Disko" );
    DiskoMBean disko = new Disko();
    server.registerMBean( diskoname );
    JOptionPane.showMessageDialog( null"Ende" );
    System.exit( 0 );
  }
}

Wenn wir unser Programm RegisterDiskoMBean mit dem Schalter -Dcom.sun.manage-ment.jmxremote starten, zeigt die JConsole das Programm an, und wir können einen Blick auf den Reiter MBeans werfen. Dort kann man die Property AnzahlPersonen einsehen und ändern. Zusätzlich lässt sich unsere Operation anstoßen, die dann auf der Konsole die gewünschte Ausgabe ergibt. Schon erstaunlich, welche Möglichkeiten es für die Administration gibt, wenn die JConsole ein remote-Programm überwacht und steuert!

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung
Hier klicken, um das Bild zu Vergrößern

 << zurück




Copyright © Galileo Press GmbH 2005
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de