Modelo de programação de JMX |
Modelo de programação de JMX
|
Instrument suas aplicações, serviços, ou os dispositivos para o manageability são muito simples quando JMX se usou. A tecnologia de JMX compartilha do modelo do objeto de Java. Se você for já familiar com o modelo componente de Java e de JavaBeans, você sabe que 95% de tudo que você necessita saber.
|
Aplicação básica
|
Esta aplicação básica controla um recurso que críam um MBean padrão simples que exponha um objeto da corda e uma operação.
Primeiramente de tudo para desenvolver a relação de MBean. Esta aplicação consiste HelloMBean chamado relação, que declara três métodos: um getter, um setter, e um para dizer o hello como mostrado no exemplo 1 do código.
Exemplo 1: HelloMBean.java
|
public interface HelloMBean {
public void setMessage(String message);
public String getMessage();
public void sayHello();
}
|
A etapa seguinte é aplicar a relação de MBean. Um exemplo é mostrado no seguinte código.
|
public class Hello implements HelloMBean {
private String message = null;
public Hello() {
message = "Hello there";
}
public Hello(String message) {
this.message = message;
}
public void setMessage(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
public void sayHello() {
System.out.println(message);
}
}
|
Por esta maneira seu primeiro MBean criou. A etapa seguinte é testar o MBean, desenvolvendo um agente de JMX em que você regista o MBean. Um agente de JMX age porque um recipiente para o MBean e ele é um componente no nível do agente. Um agente da amostra, SimpleAgent , é fornecido no exemplo 3. Este agente executa as seguintes tarefas:
- Começa a plataforma MBeanServer
- Regista um exemplo Hello do MBean
|
Exemplo 3: SimpleAgent.java
|
import javax.management.*;
import java.lang.management.*;
public class SimpleAgent {
private MBeanServer mbs = null;
public SimpleAgent() {
// Get the platform MBeanServer
mbs = ManagementFactory.getPlatformMBeanServer();
// Unique identification of MBeans
Hello helloBean = new Hello();
ObjectName helloName = null;
try {
// Uniquely identify the MBeans and register them with the platform MBeanServer
helloName = new ObjectName("SimpleAgent:name=hellothere");
mbs.registerMBean(helloBean, helloName);
} catch(Exception e) {
e.printStackTrace();
}
}
// Utility method: so that the application continues to run
private static void waitForEnterPressed() {
try {
System.out.println("Press to continue...");
System.in.read();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String argv[]) {
SimpleAgent agent = new SimpleAgent();
System.out.println("SimpleAgent is running...");
SimpleAgent.waitForEnterPressed();
}
}
|
A classe de java.lang.management.ManagementFactory é uma classe da fábrica para começar feijões controlados para a plataforma de Java. Neste exemplo, o método do getPlatformMBeanServer () é usado começar a plataforma MBeanServer, que é a relação para a manipulação de MBean no lado do agente. Contem os métodos necessários para o registo, a criação e o apagamento de MBeans. O MBeanServer é o componente do núcleo do infrastructure do agente de JMX.
Para testar com esta aplicação seguir esta etapa:
- Criar um diretório do seu bem escolhido (tal como o jmx-
exemplo )
- O copy codifica as amostras 1, 2, e 3 nesse diretório
- Usando o
javac compilar a lima da extensão de .java
- Executar
SimpleAgent . A fim usar a ferramenta do jconsole controlá-la, você deve funcionar o SimpleAgent como segue:
prompt> java - Dcom.sun.management.jmxremote SimpleAgent
Nota: - A propriedade do sistema de Dcom.sun.management.jmxremote cría um conector do RMI à plataforma MBeanServer.
- Usando a ferramenta do
jconsole conectar ao agente de JMX. Executar a ferramenta do jconsole da linha de comando. Uma vez que você começa o jconsole , indicará a lista dos processos locais a ser monitorados como mostrado em figura 2.
|
Figura 2: O jconsole que monitora a ferramenta
|
6. Agora, você pode conectar ao serviço. Uma vez que conectado, selecionar a aba de MBeans de modo que você possa alistar o MBeans e os controlar como mostrado em figura 3.
|
Figura 3: A aba de MBeans do jconsole
|
Anotar que a monitoração local com jconsole é útil para o desenvolvimento e prototyping. Mas não se recomenda que o jconsole esteja usado localmente para ambientes da produção enquanto consome recursos de sistema significativos. o jconsole deve ser usado em um sistema remoto da plataforma que está sendo monitorada.
|
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
|