• Nenhum resultado encontrado

30/11/2006 IvanFrancolinMartinez GerenciamentoJMX

N/A
N/A
Protected

Academic year: 2022

Share "30/11/2006 IvanFrancolinMartinez GerenciamentoJMX"

Copied!
32
0
0

Texto

(1)

Gerenciamento JMX

Ivan Francolin Martinez

MAC 5863

Sistemas de Middleware Avan¸cados Prof. Francisco Reverbel

30/11/2006

(2)

Arquitetura Acesso Ferramentas Futuro Referˆencias

(3)

Objeto MBean

I Um objeto gerenciavel via JMX

I Representa um dispositivo, aplica¸c˜ao ou qualquer outro recurso

I Exp˜oe informa¸c˜oes sobre suas caracter´ısticas (Meta Dados, MBeanInfo)

I Possui atributos e/ou opera¸c˜oes

I Representado por um nome ´unico

(4)

Atributos

I Permite alterar o estado interno do MBean

I somente leitura, somente escrita ou ambos

I Pode ser um tipo primitivo, ou objeto

I Recomend´avelSerializable

(5)

Opera¸c˜ oes

I Permite executar opera¸c˜oes no objeto

I Pode receber parˆametros

I Pode ter valor de retorno

(6)

Notifica¸c˜ oes

I Permite que o gerenciador seja informado sobre mudan¸cas no MBean

I Informa¸c˜oes devem ser incrementais, sobre mudan¸cas no estado

(7)

Standard MBean

I Definido facilmente a partir de uma interface

I Uma classe XXX deve estender uma interface XXXMBean que define os atributos e opera¸c˜oes.

I Um atributo ´e definido a partir de m´etodos getYYY e setYYY

I Todos outros m´etodos s˜ao opera¸c˜oes

(8)

Standard MBean

public interface HelloMBean { public void sayHello();

public int add(int x, int y);

public String getName();

public int getCacheSize();

public void setCacheSize(int size);

}

(9)

MXBean

I Vers˜ao melhorada do Standard MBean

I Uma classe XXX deve extender uma interface XXXMXBean que define os atributos e opera¸c˜oes.

I Um Standard MBean que utiliza um conjunto limitado de tipos

I Deve utilizar tipos definidos no pacote javax.management.openmbean

I Tipos complexos s˜ao mapeados utilizando CompositeDataSupport

I Inicialmente utilizados no Java 1.5, mas somente na vers˜ao 1.6 foi inclu´ıdo suporte para cria¸c˜ao de novos MXBeans

(10)

Dynamic MBean

I Definido implementando a interface javax.management.DynamicMBean

I Todo tratamento deve ser implementado manualmente

(11)

interface DynamicMBean

package javax.management;

public interface DynamicMBean {

public Object getAttribute(String attribute) throws AttributeNotFoundException, MBeanException, ReflectionException;

public void setAttribute(Attribute attribute) throws AttributeNotFoundException,

InvalidAttributeValueException, MBeanException, ReflectionException ;

public AttributeList getAttributes(String[] attributes);

public AttributeList setAttributes(AttributeList attributes);

public Object invoke(String actionName, Object params[], String signature[])

throws MBeanException, ReflectionException ; public MBeanInfo getMBeanInfo();

}

(12)

Open MBean

I Dynamic MBean

I Segue padroniza¸c˜ao que permite maior flexibilidade

I Somente tipos primitivos, classes b´asicas e classes JMX

I N˜ao necessita de ajustes no CLASSPATH

(13)

Model MBean

I Implementa a interface

javax.management.modelmbean.ModelMBean

I Funciona como ponte para um objeto real

I Mapeamento para m´etodos de um objeto POJO

(14)

ObjectName

I Identifica de forma ´unica cada MBean

I Permite selecionar objetos a partir de uma mascara

I formato :

dom´ınio:pares chave/valor

dom´ınio:chave1=valor1,chave2=valor2,...

(15)

Identificando um objeto

I java.lang:type=Runtime

I java.lang:type=MemoryPool,name=Perm Gen

I

Users:type=Role,rolename=tomcat,database=UserDatabase

(16)

Selecionando objeto(s)

I java.lang:*

I java.lang:type=MemoryPool,*

I *:type=ClassLoading

I tamb´em existe a possibilidade de utilizar QueryExp para sele¸c˜ao

(17)

MBeanServer

I Mant´em referencias para MBeans

I intermedi´ario entre o sistema gerenciador e os objetos reais

I pode ser acessado localmente ou remotamente utilizando Conectores

I criado a partir de MBeanServerFactory

(18)

Principais m´ etodos do MBeanServer

ObjectInstance registerMBean(Object object, ObjectName name)

ObjectInstance createMBean(String className, ObjectName name)

void unregisterMBean(ObjectName name) MBeanInfo getMBeanInfo(ObjectName name)

Set queryMBeans(ObjectName name, QueryExp query) Set queryNames(ObjectName name, QueryExp query) String[] getDomains()

(19)

Principais m´ etodos do MBeanServer

Object getAttribute(ObjectName name, String attribute) AttributeList getAttributes(ObjectName name,

String[] attributes)

void setAttribute(ObjectName name, Attribute attribute) AttributeList setAttributes(ObjectName name,

AttributeList attributes) void addNotificationListener(ObjectName name,

NotificationListener listener, NotificationFilter filter, Object handback)

void removeNotificationListener(ObjectName name, ObjectName listener)

(20)

Conectores

I Permitem acesso remoto aoMBeanServer

I JMX Remote API (JSR-160)

I RMI

I JMXMP

I WebServices (JSR-262 em desenvolvimento)

(21)

Adaptadores

I Permitem o acesso a partir de sistemas/clientes que n˜ao suportam diretamente JMX.

I SNMP

I HTTP

(22)

JConsole

I Cliente padr˜ao dispon´ıvel com o Java 1.5

I GUI

(23)
(24)
(25)
(26)

MX4J

I Implementa¸c˜ao de JMX (JSR-3)

I Implementa¸c˜ao de JMX Remote API (JSR-160)

I Open Source, pode ser utilizado em Java 1.4

I Possui Adaptador HTTP

(27)

Tomcat Ant Tasks

I Permite automatizar acesso JMX

I Sem necessidade de c´odigo Java

I Utilizando arquivos XML ant

(28)

Java 1.6

I JMX 1.4

I Generics

I suporte para “chave=*” emObjectName

(29)

Java 1.7

I JMX 2.0

I Utiliza¸c˜ao de anota¸c˜oes

I Suporte paraCascading

(30)

I http://java.sun.com/javase/technologies/core/

mntr-mgmt/javamanagement/

I http:

//java.sun.com/docs/books/tutorial/jmx/index.html

I http://mx4j.sourceforge.net/

(31)

Perguntas ?

I D´uvidas

(32)

Gerenciamento JMX

Ivan Francolin Martinez

MAC 5863

Sistemas de Middleware Avan¸cados Prof. Francisco Reverbel

30/11/2006

Referências

Documentos relacionados

78 Figura 3.27 Padrão de difração de pós obtido para o complexo ácido nalidíxico:Zn através (a) de síntese por solução, em comparação com os difractogramas

aerosil observa-se que ocorre uma redução da conversão com o aumento da área superficial do suporte e que o teor de cobre utilizado não provoca grandes variações..

O LAVI vem sendo montado gradativamente, com recursos provenientes do FDA (Fundo de Desenvolvimento Acadêmico) e LABGRAD (Programa de Apoio aos Laboratórios de

Para reduzir o consumo de energia eléctrica, água ou gás, não use o aparelho em vazio ou em condições que comprometam o rendimento máximo (por ex. portas ou tampas abertas, etc.);

Documentação necessária: processo de sindicância contendo o Boletim de Ocorrência Policial (lavratura imediata pelo “Usuário Local”), parecer conclusivo da

Prosseguindo a homilia, o Papa disse que depois dos corações, o Espírito, como o vento, sopra por todo o lado e chega às situações mais imprevistas.. “Como na família, quando

Além de possibilitar o escrutínio das “peculiaridades do racismo à brasileira que, como todos os racismos, tem armadilhas que não podem ser evitadas

- Em relação à questão dirigida aos Docentes “Avalie as áreas de concentrações e linhas de pesquisa em que atua no Programa no que se refere à formação