Em principio parece uma tarefa fácil, bastaria seguir a documentação da SUN e inserir as seguintes propriedades de sistema para a inicialização da JVM:
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=(porta)
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
Como bom usuário do WebSphere, você ira configurar essas propriedades como Custom Properties da JVM do WebSphere na console administrativa, nesse momento você descobre que não poderá informar por aqui a propriedade com.sun.management.jmxremote. Para a configuração de Custom Properties, tudo é inserido como pares de nome e valor.
Fazendo uma pesquisa no Infocenter, você ira encontrar, na documentação da IBM JDK, a seguinte informação:
A aplicação Java que você quer monitorar deve ser inicializada com, no mínimo os seguintes parâmetros
-Dcom.sun.management.jmxremote.port=(porta)
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
Beleza, então não é preciso informar a propriedade com.sun.management.jmxremote
Configuradas as propriedades mínimas necessárias, basta reiniciar o WebSphere, para ver que ele não sobe de jeito nenhum, e apresenta a seguinte mensagem no log:
javax.management.JMRuntimeException: Failed to load MBeanServerBuilder class com .ibm.ws.management.PlatformMBeanServerBuilder: java.lang.ClassNotFoundException: com.ibm.ws.management.PlatformMBeanServerBuilder
Vamos ao Infocenter do WebSphere então, lá reside a informação de que o WebSphere não tem suporte para o JConsole. Desistimos então?
Vamos botar esse negocio para funcionar, e é agora!
- Para recuperar o ambiente, caso você tenha seguido o procedimento acima, edite o arquivo [PROFILE_HOME]/config/cells/[CELL_NAME]/nodes/[NODE_NAME]/servers/[SERVER_NAME]/server.xml, no final desse arquivo, dentro do elemento jvmEntries você ira encontrar as propriedades configuradas definidas como systemProperties, basta removê-las para o WebSphere voltar a iniciar normalmente.
- Aproveite que você esta com esse arquivo aberto, e coloque o seguinte valor para o atributo genericJvmArguments do elemento jvmEntries: -Djavax.management.builder.initial= -Dcom.sun.management.jmxremote, perceba que o valor da propriedade javax.management.builder.initial= e um espaco em branco, seguido pela propriedade com.sun.management.jmxremote
- Encontre o arquivo [WAS_HOME]/java/jre/lib/management/management.properties e retire os comentários das seguintes linhas:
com.sun.management.jmxremote.port=(informe uma porta qualquer como 9001)
com.sun.management.jmxremote.ssl=false
com.sun.management.jmxremote.authenticate=false
Reinicie o WebSphere, e inicialize a JConsole que se encontra no diretorio [WAS_HOME]/java/bin com o seguinte comando: jconsole host:porta
Feito isso, a JConsole será apresentada, monitorando a JVM do WebSphere.
Um abraço a todos.