Como posso fazer o “jconsole” funcionar com o Websphere 6.1?
Pergunta
Implantei alguns Managed Beans no WebSphere 6.1 e consegui invocá-los através de um cliente standalone, porém quando tento utilizar a aplicação "jconsole" distribuída com o JDK padrão não consigo fazer funcionar.
Alguém conseguiu conectar o jconsole ao WAS 6.1?
O IBM WebSphere 6.1 deve suportar API remota JSR 160 JavaTM Management Extensions (JMX).Além disso, ele usa a implementação MX4J (http://mx4j.sourceforge.net).Mas não consigo fazer funcionar nem com "jconsole" nem com "MC4J".
Eu tenho o Classpath e o JAVA_HOME configurados corretamente, então o problema não está aí.
Solução
O suporte do WebSphere para JMX é uma porcaria.Principalmente se você precisar se conectar a qualquer beans JMX protegidos.Aqui está um detalhe interessante: sua própria implementação do jConsole não se conectará à sua própria JVM.Eu tive um PMR aberto com a IBM por mais de um ano para corrigir esse problema e não obtive nada além de uma solução.Eles claramente não querem resolver esse problema.
A única maneira de invocar beans JMX protegidos remotos hospedados no WebSphere foi implementar um cliente usando o "cliente de aplicativo WebSphere".Este é basicamente um servidor de aplicativos simplificado usado para coisas como esta.
Abra um PMR com a IBM.Talvez se mais pessoas relatarem esse problema, elas realmente o resolverão.
Atualizar: É possível executar seu aplicativo como um WebSphere Application Client no RAD.Abra o menu Executar e escolha "Executar...".Na caixa de diálogo que é aberta, na parte inferior esquerda, você verá "WebSphere v6.1 Application Client".Não sei como iniciar o Application Client fora do RAD.
Outras dicas
FUNCIONA !
1) Change the config.xml and start the server.
-veja aqui como alterar o config.xml: http://publib.boulder.ibm.com/wasce/V2.1.0/en/working-with-jconsole.html
2) start the jconsole with : jconsole -J-Djavax.net.ssl.keyStore=%GERONIMO_HOME%\var\security\keystores\geronimo-default -J-Djavax.net.ssl.keyStorePassword=secret -J-Djavax.net.ssl.trustStore=%GERONIMO_HOME%\var\security\keystores\geronimo-default -J-Djavax.net.ssl.trustStorePassword=secret -J-Djava.class.path=%JAVA_HOME%\lib\jconsole.jar;%JAVA_HOME%\lib\tools.jar;%GERONIMO_HOME%\repository\org\apache\geronimo\framework\geronimo-kernel\2.1.4\geronimo-kernel-2.1.4.jar
[ou sua versão do jar geronimo-kernel]
3) in the jconsole interface->advanced, input:
JMX URL: service:jmx:rmi:///jndi/rmi://localhost:1099/JMXSecureConnector
user name: system
password: manager
4) click the connect button.
Se você quiser o WebSphere MBeans, este funciona para mim:
A chave é configurar o caminho de classe e a segurança corretamente.
em uma linha:
jconsole -J-Dwas.install.root=C:/was61 -J-Djava.ext.dirs=C:/was61/plugins;C:/was61/plugins/com.ibm.ws.security.crypto_6.1.0;C :/was61/lib;C:/was61/java/jre/lib/ext -J-Dcom.ibm.SSL.ConfigURL="arquivo:../../properties/ssl.client.props" -J-Dcom .ibm.CORBA.ConfigURL="arquivo:../../properties/sas.client.props" serviço:jmx:iiop://host:port/jndi/JMXConnector
onde porta = porta de inicialização ex:(2809)
Tenha cuidado ao definir os adereços sas e ssl.
Roberto
Conectei-me com sucesso ao ActiveMQ e ServiceMix usando o JConsole.O WAS 6.1 usa a tecnologia Java Management Extension (JMX)?JMX é necessário para JConsole.
Se o seu caminho estiver definido corretamente, ele deverá funcionar bem.No Windows você vai para Propriedades do Sistema -> Guia Avançado -> Variáveis de Ambiente.Defina sua variável de sistema JAVA_HOME como o caminho do seu JDK ou JRE e sua variável Path com %JAVA_HOME%/bin adicionado em algum lugar lá.Então tudo que você precisa fazer é ir em Iniciar->Executar->JConsole.Selecione o nome do processo correto e pronto.
Onde você está tendo problemas?Eu espero que isso ajude.
Editar:Aqui está o Java Doc em JConsole.
Hum...Eu sei que o WebSphere é meio difícil de configurar.Essa é parte da razão pela qual usamos o ServiceMix em nosso ESB.Talvez não esteja habilitado por padrão no WebSphere e você teria que ativá-lo na configuração em algum lugar.
O Websphere 6.1 não oferece suporte ao JConsole por algum motivo, embora implemente totalmente as especificações JMS.Parece ser uma área semanal no momento.Sua melhor aposta é consultar o cliente Admin para implementar seu próprio console.
Todos vocês parecem estar incorretos.Estou executando o Websphere 6.1.041 , usando JDK 1.5 , e acabei de iniciar o Jconsole e usei a guia "conexão simples" para conectar-me ao host local com porta = 0 e sem nome de usuário e senha e funciona bem.