| // |
| // Licensed to the Apache Software Foundation (ASF) under one |
| // or more contributor license agreements. See the NOTICE file |
| // distributed with this work for additional information |
| // regarding copyright ownership. The ASF licenses this file |
| // to you under the Apache License, Version 2.0 (the |
| // "License"); you may not use this file except in compliance |
| // with the License. You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, |
| // software distributed under the License is distributed on an |
| // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| // KIND, either express or implied. See the License for the |
| // specific language governing permissions and limitations |
| // under the License. |
| // |
| |
| = Conceitos Básicos sobre Monitoramento do JMX no NetBeans IDE |
| :jbake-type: tutorial |
| :jbake-tags: tutorials |
| :jbake-status: published |
| :icons: font |
| :syntax: true |
| :source-highlighter: pygments |
| :toc: left |
| :toc-title: |
| :description: Conceitos Básicos sobre Monitoramento do JMX no NetBeans IDE - Apache NetBeans |
| :keywords: Apache NetBeans, Tutorials, Conceitos Básicos sobre Monitoramento do JMX no NetBeans IDE |
| |
| 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 link:jmx-tutorial.html[+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: |
| |
| image::images/netbeans-stamp-80-74-73.png[title="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 link:../../index.html[+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: |
| |
| * Tecnologia JMX: link:http://download.oracle.com/javase/6/docs/technotes/guides/jmx/index.html[+ Documentação on-line do JMX+] |
| * Tecnologia Java: link:http://www.oracle.com/technetwork/java/javase/tech/index.html[+ Visão Geral das Tecnologias Java SE+] |
| * NetBeans IDE |
| |
| Você também se beneficiará tendo conhecimento sobrelink:http://download.oracle.com/javase/6/docs/technotes/guides/management/index.html[+ 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 |
| |
| |link:https://netbeans.org/downloads/index.html[+NetBeans IDE+] |Pacote Java 7.2, 7.3, 7.4, 8.0 |
| |
| |link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+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. |
| image::images/jmx-newfile.png[title="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 link:jmx-tutorial.html#Exercise_3[+ 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 `` link:http://download.oracle.com/javase/6/docs/api/javax/management/MBeanServer.html[+ 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 `` link:http://download.oracle.com/javase/6/docs/api/java/lang/management/ManagementFactory.html[+ 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 link:jmx-tutorial.html#Exercise_5[+ 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 |
| |
| |image::images/run-project24.png[title="Botão Executar Projeto Principal com Monitoramento e Gerenciamento"] |Executar Projeto Principal com Monitoramento e Gerenciamento |
| |
| |image::images/debug-project24.png[title="Botão Depurar Projeto Principal com Monitoramento e Gerenciamento"] |Depurar Projeto Principal com Monitoramento e Gerenciamento |
| |
| |image::images/console24.png[title="Botão Iniciar Console de Gerenciamento de JConsole"] |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. |
| |
| * Página principal link:http://download.oracle.com/javase/6/docs/technotes/tools/share/jconsole.html[+ ``jconsole`` +] |
| * link:http://download.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html[+Usando o documento da JConsole+] |
| |
| |
| == 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. |
| image::images/jmx-newproject.png[title="Jogo de Anagramas Gerenciado com o JMX no assistente Novo Projeto"] |
| |
| [start=4] |
| . 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. |
| |
| |
| [start=5] |
| . 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: |
| |
| image::images/jmx-anagram.png[title="Jogo de Anagramas"] |
| |
| A janela JConsole também é exibida. |
| |
| |
| [start=6] |
| . 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. |
| image::images/jmx-jconsole1.png[title="Janela JConsole"] |
| |
| [start=7] |
| . 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. |
| |
| [start=8] |
| . 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...) |
| |
| [start=9] |
| . Volte para a JConsole e observe que ela recebeu as quatro notificações. |
| |
| [start=10] |
| . Clique no nó Atributos e observe que os valores do atributo estão atualizados: |
| image::images/jmx-jconsole2.png[title="Janela de JConsole mostrando valores atualizados"] |
| link:/about/contact_form.html?to=3&subject=Feedback:%20Getting%20Started%20with%20JMX%20Monitoring[+Enviar Feedback neste Tutorial+] |
| |
| |
| |
| == 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: |
| |
| * link:jmx-tutorial.html[+Adicionando Instrumentação JMX a uma Aplicação Java+] |