quinta-feira, 16 de janeiro de 2014

Conectando JVisualVM com JBoss AS 7

Uma das ferramentas disponíveis para análise de memória do Java é o jvisualvm disponibilizado pela própria Oracle no Java JDK.

Aqui utilizei o Java JDK 6u45  e o Jboss AS 7.1.1 Final, vamos a prática:

Vou partir do princípio que você já possui as variáveis de ambiente JBOSS_HOME e JAVA_HOME definidas.

Configurando o Jboss para aceitar a conexão JMX:

  • Abra o CMD.exe
  • Digite: cd %JBOSS_HOME%\bin
  • Adicione um usuário ao Jboss (se já possuir um não precisa): add-user.bat -a usuario senha
  • Abra o client do Jboss: jboss-cli.bat
  • digite para habilitar as configurações JMX:
    • connect --controller
    • /subsystem=jmx :read-resource-description(recursive=true)
    • quit
  • Inicie o Jboss normalmente.

Iniciando o JVisualVM:
  • No CMD digite todas as linhas abaixo:
set JBOSS_MODULEPATH=%JBOSS_HOME%/modules
set CLASSPATH=""

rem lib necessarias
set CLASSPATH=%CLASSPATH%;"%JBOSS_MODULEPATH%\org\jboss\remoting3\remoting-jmx\main\remoting-jmx-1.0.2.Final.jar"
set CLASSPATH=%CLASSPATH%;"%JBOSS_MODULEPATH%\org\jboss\remoting3\main\jboss-remoting-3.2.3.GA.jar"
set CLASSPATH=%CLASSPATH%;"%JBOSS_MODULEPATH%\org\jboss\remoting3\remoting-jmx\main\remoting-jmx-1.0.2.Final.jar"
set CLASSPATH=%CLASSPATH%;"%JBOSS_MODULEPATH%\org\jboss\logging\jul-to-slf4j-stub\main\jul-to-slf4j-stub-1.0.0.Final.jar"
set CLASSPATH=%CLASSPATH%;"%JBOSS_MODULEPATH%\org\jboss\logging\main\jboss-logging-3.1.0.GA.jar"
set CLASSPATH=%CLASSPATH%;"%JBOSS_MODULEPATH%\org\jboss\xnio\main\xnio-api-3.0.3.GA.jar"
set CLASSPATH=%CLASSPATH%;"%JBOSS_MODULEPATH%\org\jboss\xnio\nio\main\xnio-nio-3.0.3.GA.jar"
set CLASSPATH=%CLASSPATH%;"%JBOSS_MODULEPATH%\org\jboss\xnio\nio\main\xnio-nio-3.0.3.GA.jar"
set CLASSPATH=%CLASSPATH%;"%JBOSS_MODULEPATH%\org\jboss\sasl\main\jboss-sasl-1.0.0.Final.jar"
set CLASSPATH=%CLASSPATH%;"%JBOSS_MODULEPATH%\org\jboss\marshalling\main\jboss-marshalling-1.3.11.GA.jar"
set CLASSPATH=%CLASSPATH%;"%JBOSS_MODULEPATH%\org\jboss\marshalling\river\main\jboss-marshalling-river-1.3.11.GA.jar"
set CLASSPATH=%CLASSPATH%;"%JBOSS_MODULEPATH%\org\jboss\marshalling\river\main\jboss-marshalling-river-1.3.11.GA.jar"

jvisualvm -cp:a %CLASSPATH%

  • Irá abrir o Java VisualVM:

  • Clique com o botão direito em Local
  • Depois em Add JMX Connection
  • Insira o seguinte no campo Connection: service:jmx:remoting-jmx://localhost:9999
  • Insira o usuário e senha que você informou la em cima no add-user.bat
  • Vai ficar mais ou menos assim:


Se tudo ocorreu bem, você já pode verificar as configurações do Jboss e também o uso de memória do mesmo.

Dúvidas??




Nenhum comentário:

Postar um comentário