Conceitos Básicos sobre Monitoramento do JMX no NetBeans IDE

This tutorial needs a review. You can open a JIRA issue, or edit it in GitHub following these contribution guidelines.

O Módulo JMX do NetBeans integra a tecnologia do JMX correto para seu workflow no NetBeans IDE. Este módulo permite que você desenvolva aplicações de gerenciamento, adicione o gerenciamento às aplicações existentes, desenvolva aplicações do gerenciador e monitore o estado da Máquina Virtual.

Este documento foi atualizado para a versão 3.0 do módulo do Assistente JMX, para NetBeans IDE 6.5 e mais recente e em execução no JDK 6 ou JDK 7. Você pode fazer download do módulo JMX do Centro de Atualização.

Observação: este documento é uma introdução curta e rápida ao módulo JMX do NetBeans IDE. Para obter informações mais detalhadas, conclua o Tutorial do Módulo JMX Adicionando Instrumentação do JMX a uma Aplicação Java.

Este documento com conceitos básicos fornece uma visão geral das funcionalidades do módulo JMX:

netbeans stamp 80 74 73
Figure 1. O conteúdo desta página se aplica ao NetBeans IDE 7.2, 7.3, 7.4 e 8.0
  • Assistente para criar MBeans e Gerenciadores do JMX.

  • Ações para atualizar MBeans existentes adicionando atributos e operações, implementando a Interface MBeanRegistration ou a NotificationEmitter .

  • Geração de MBean de uma Classe Java existente.

  • Ação para registrar MBeans no Servidor de MBeans da Plataforma Java.

  • Capacidade de acionar a console de gerenciamento da Plataforma Java (JConsole).

  • Capacidade de Executar e Depurar sua aplicação usando JConsole.

  • Aplicação de amostra com base no jogo de Anagramas que mostra como adicionar a potência JMX à sua aplicação.

  • Assistente para gerar um arquivo de propriedades de gerenciamento, que permite que você acione uma JVM gerenciável segura.

  • Ajuda on-line.

  • Tutoriais acessíveis do site netbeans.org.

Pré-requisitos

Este tutorial pressupõe que você tenha algum conhecimento básico das tecnologias a seguir ou alguma experiência de programação com elas:

Você também se beneficiará tendo conhecimento sobre+ Monitoramento e Gerenciamento da Plataforma Java+

Software Necessário para o Tutorial

Para este tutorial, você precisa ter instalado no computador os seguintes softwares:

Software ou Recurso Versão Necessária

NetBeans IDE

Pacote Java 7.2, 7.3, 7.4, 8.0

JDK (Java Development Kit)

versão 7 ou 8

Plug-in do JMX

Disponível na Central de Atualização do NetBeans

Plug-in de JConsole

Disponível na Central de Atualização do NetBeans

Para instalar os plug-ins JMX e JConsole, selecione Ferramentas > Plug-ins e faça download dos módulos do Centro de Atualização do NetBeans.

Acessando os Assistentes do JMX

Depois de instalar o plug-in JMX e seu projeto ser aberto, você pode acessar o assistente JMX, escolhendo Arquivo > Novo Arquivo (Ctrl-N) e selecionando a categoria JMX. Em seguida, você pode escolher o seguinte:

  • Arquivo de Configuração de Gerenciamento. Arquivo de propriedades Java padrão para armazenar sua configuração para gerenciamento do JMX, principalmente para conexão remota e segurança.

  • Vários tipos de MBeans do JMX. Um MBean pode representar um dispositivo, uma aplicação ou qualquer recurso que precisa ser gerenciado. Os MBeans expõem uma interface de gerenciamento: um conjunto de atributos legíveis e/ou graváveis e um conjunto de operações que podem ser chamadas, junto com uma autodescrição. A interface de gerenciamento não é alterada durante todo o ciclo de vida da instância do MBean. Os MBeans também poderão emitir notificações quando determinados eventos definidos ocorrerem. Os MBeans do JMX precisam ser registrados no Servidor MBean.

  • Gerenciador do JMX. Um Gerenciador do JMX é uma aplicação que se conecta a um Servidor MBean do JMX remoto.

jmx newfile
Figure 2. Assistentes de Novo Arquivo na categoria JMX

Atualizando MBeans

Você pode adicionar atributos e operações em seus MBeans com as ações do menu contextual do JMX, que exibirão uma caixa de diálogo. Seus MBeans também podem implementar a interface NotificationEmitter .

Para atualizar um MBean, selecione o arquivo Java da classe do MBean na árvore do Projeto e acesse o menu pop-up, clicando com o botão direito do mouse no nó, ou simplesmente clique com o botão direito na janela do editor, na qual seu arquivo Java da classe do MBean está aberto e acesse o menu pop-up JMX.

Estas ações são demonstradas no Exercício 3 do tutorial + Adicionando Instrumentação JMX a uma Aplicação Java+.

Registrando MBeans

Para se conectar remotamente a seus MBeans e gerenciar sua aplicação, seus MBeans precisam ser registrados no Servidor MBean.

Um Servidor MBean é a parte central principal da tecnologia JMX. Ele mantém referência de todos os MBeans registrados nele, pode enviar notificações do novo registro ou deleção do MBean e pode aceitar conexões remotas para expor atributos e operações de seus MBeans registrados. Se você não estiver familiarizado com Servidor MBean, leia a documentação de API + javax.management.mbeanserver + ,

Iniciando o JDK 5, a Plataforma Java fornece um Servidor MBean default, chamado o Servidor MBean da Plataforma. Ele permite que você monitore a JVM, mas também é possível usá-lo para registrar seu próprio MBean nele. Para obter detalhes sobre o Servidor MBean da Plataforma Java, leia a documentação + java.lang.management.ManagementFactory + da API.

Dependendo de sua lógica, determina o local em seu código de aplicação, no qual você deseja que seus MBeans sejam registrados, geralmente na fase de inicialização de sua classe Principal. Clique com o Botão Direito do Mouse na janela do seu editor no local no qual você deseja que o código de registro do MBean seja gerado, selecione o submenu JMX e, em seguida, a ação "Gerar Registro de MBean…​".

Esta ação é demonstrada no Exercício 5 do tutorial + Adicionando Instrumentação JMX a uma Aplicação Java+.

Implementando e Executando Aplicações Gerenciáveis

JConsole é uma ferramenta gráfica compatível com JMX para monitorar uma máquina virtual Java. A JConsole pode monitorar JVMs locais e remotas e pode ser usada para monitorar e gerenciar aplicações JMX.

Geralmente, o fluxo de trabalho da implementação e execução de aplicações gerenciáveis é o seguinte:

  1. Gerar seus MBeans.

  2. Adicionar implementação aos seus MBeans

  3. Gerar código de registro do MBean.

  4. Executar ou depurar seu projeto com JConsole.

Depois de instalar os plug-ins do JMX e da JConsole você verá que os seguintes botões são adicionados à barra de ferramentas. As ações também ficam acessíveis no item de menu Depurar no menu principal.

Botão Descrição

run project24

Executar Projeto Principal com Monitoramento e Gerenciamento

debug project24

Depurar Projeto Principal com Monitoramento e Gerenciamento

console24

Iniciar Console de Gerenciamento de JConsole

Observação. JConsole faz parte da Plataforma Java e pode ser usado independentemente do IDE. Para obter detalhes, consulte os seguintes recursos.

Executando a Aplicação de Amostra

O módulo JMX inclui uma aplicação de amostra com o monitoramento do JMX incorporada nele.

  1. Escolha Arquivo > Novo Projeto.

  2. Nestas Amostras, selecione a categoria JMX.

  3. Selecione o Jogo de Anagramas Gerenciado com o projeto JMX.

jmx newproject
Figure 3. Jogo de Anagramas Gerenciado com o JMX no assistente Novo Projeto
  1. Clique em Próximo. Não é necessário alterar o nome do projeto default fornecido ou os valores do local. Confirme se a caixa de seleção Definir como Projeto Principal está selecionada. Clique em Finalizar.

Observações. O IDE poderá solicitar a instalação das bibliotecas JUnit se você não tiver instalado o plug-in do JUnit anteriormente. Você pode clicar em Resolver, na caixa de diálogo Resolver Problemas de Recursos, para iniciar o Instalador a fim de instalar o plug-in do JUnit. Se preferir, instale o plug-in do JUnit no gerenciador de Plug-ins.

  1. Depois que seu projeto for criado e definido como o Projeto Principal, Execute-o com o JConsole, clicando no botão "Executar Projeto Principal com Monitoramento e Gerenciamento" da JConsole.

Observações. É possível que você veja uma advertência de Falha de Conexão na Console de Monitoramento e Gerenciamento Java quando a console tenta estabelecer conexão com o processo do Jogo de Anagramas. Neste tutorial, você pode clicar em Não Seguro quando solicitado a autorizar a conexão.

Clicar neste botão aciona e exibe o Jogo de Anagramas:

jmx anagram
Figure 4. Jogo de Anagramas

A janela JConsole também é exibida.

  1. Na janela JConsole, selecione a guia MBeans e no layout da árvore à esquerda, abra todos os nós em anagrams.toy.com conforme mostrado abaixo.

jmx jconsole1
Figure 5. Janela JConsole
  1. Selecione o nó Notificações e clique no botão Assinar na parte inferior, de forma que o JConsole recebem uma nova notificação cada vez que um anagrama é resolvido.

  2. Agora vá para a janela Jogo de Anagramas e resolva os primeiros três ou quatro anagramas. (As respostas estão na classe WordLibrary, mas aqui estão elas: abstração, ambíguos, aritmética, barra invertida…​)

  3. Volte para a JConsole e observe que ela recebeu as quatro notificações.

  4. Clique no nó Atributos e observe que os valores do atributo estão atualizados:

jmx jconsole2
Figure 6. Janela de JConsole mostrando valores atualizados

Consulte Também

Este documento era uma introdução curta e rápida ao módulo JMX do NetBeans IDE. Para obter informações mais detalhadas, consulte o seguinte tutorial do módulo JMX: