Gestion à distance de JMX |
Technologie de JMX pour la gestion à distance
|
Gestion à distance
|
Rendre un agent de JMX accessible à partir des applications de gestion en dehors du serveur du JVM MBean de l'agent se fonde sur des adapteurs et des connecteurs de protocole. Fondamentalement les adapteurs fournissent une vue par un protocole spécifique pour tout le MBeans enregistré dans le serveur de MBean (par exemple un adapteur de HTML pourrait montrer un MBean dans un web browser). l'interface de Directeur-côté a fourni par les connecteurs qui manipule la communication entre le directeur et l'agent de JMX. Quand une application de gestion à distance emploie une telle interface, elle se relient à un agent de JMX d'une manière transparente par le réseau indépendamment du protocole.
Vers des applications à distance en employant la technologie à distance de l'invocation de méthode (RMI) JMX exporte l'instrumentation de JMX api. Elle définit également un protocole facultatif basé directement sur des douilles de TCP appelées le protocole de transmission de messages de JMX (JMXMP). Mais ce ce protocole n'est pas soutenu dans J2SE 5.0.
Les spécifications à distance de JMX api 1.0 (JSR 160) décrivent comment annoncer et trouver des agents de JMX employant les infrastructures existantes de découverte et de consultation. De l'autre manière les spécifications ne définissent pas son propre service de découverte et de consultation. Employer des services existants de découverte et de consultation est facultatif ; vous pouvez coder l'adresse de vos agents de JMX api sous forme d'URLs et rendre ceux-ci URLs disponible au directeur.
|
Connecteur de RMI
|
L'exemple 4 montre un exemple d'utiliser le connecteur de RMI, qui est une légère modification de l'exemple 3.
|
Coder l'échantillon 4 : SimpleAgent.java
<pre>import javax.management.*;
import java.lang.management.*;
import javax.management.remote.*;
public class SimpleAgent {
private MBeanServer mbs = null;
public SimpleAgent() {
// <em>Get the platform MBeanServer</em>
mbs = ManagementFactory.getPlatformMBeanServer();
// <em>Unique identification of MBeans</em>
Hello helloBean = new Hello();
ObjectName helloName = null;
try {
// <em>Uniquely identify the MBeans and register them with the MBeanServer</em>
helloName = new ObjectName("SimpleAgent:name=hellothere");
mbs.registerMBean(helloBean, helloName);
<strong>// <em>Create an RMI connector and start it</em>
JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:9999/server");
JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(url,
null, mbs);
cs.start();</strong>
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String argv[]) {
SimpleAgent agent = new SimpleAgent();
System.out.println("SimpleAgent is running...");
}
}</pre>
|
Pour exécuter cette application, faire ce qui suit :
- Si vous voulez exécuter l'application sur J2SE 1.4, vous devez changer la ligne des
mis-bande = ManagementFactory.getPlatformMBeanServer () ; . à mis-bande = MBeanServerFactory.createMBeanServer (« SimpleAgent ») ;
- Compiler le
SimpleAgent.java révisé de l'échantillon 4 de code.
- Commencer le rmiregistry sur le port 9999 (
prompt> 9999 rmiregistry ).
- Courir
SimpleAgent (prompt> Java SimpleAgent ).
- Tandis que
SimpleAgent fonctionne, le jconsole de course et alors emploient l'étiquette avançée et écrivent l'information suivant les indications de la figure suivante.
|
Le schéma 4 : Jconsole de configuration pour la gestion à distance
6. Une fois que vous êtes reliés, vous pouvez passer en revue le MBeans et les contrôler employant l'étiquette de MBeans suivant les indications du schéma 5.
|
Le schéma 5 : MBeans à distance de lecture rapide et de gestion
Keywords: JMX Programming Model, open source jmx, jmx jboss, jmx sun, jmx
client, jmx sample, jmx implementation, jmx weblogic, remote jmx, simple
programming, programming tutorials, api programming, using jmx, jmx rmi,
programming basics, applications programming, interface programming, programming
tutorial, using programming, programming code, model tutorials, introduction
programming, programming application
|