How can I make "jconsole" work with Websphere 6.1?

15,149

Solution 1

WebSphere's support for JMX is crap. Particularly, if you need to connect to any secured JMX beans. Here's an interesting tidbit, their own implementation of jConsole will not connect to their own JVM. I have had a PMR open with IBM for over a year to fix this issue, and have gotten nothing but the runaround. They clearly don't want to fix this issue.

The only way I have been able to invoke remote secured JMX beans hosted on WebSphere has been to implement a client using the "WebSphere application client". This is basically a stripped down app server used for stuff like this.

Open a PMR with IBM. Perhaps if more people report this issue, they will actually fix it.

Update: You can run your application as a WebSphere Application Client in RAD. Open the run menu, then choose "Run...". In the dialog that opens, towards the bottom on the left hand side, you will see "WebSphere v6.1 Application Client". I'm not sure how to start and Application Client outside of RAD.

Solution 2

If you want the WebSphere MBeans this one works for me:

The key is to configure the classpath and the security properly.

in one line:

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="file:../../properties/ssl.client.props" -J-Dcom.ibm.CORBA.ConfigURL="file:../../properties/sas.client.props" service:jmx:iiop://host:port/jndi/JMXConnector

where port = bootstrap port ex: (2809)

Be careful when setting the sas and the ssl props.

Robert

Solution 3

IT WORKS !

http://issues.apache.org/jira/browse/GERONIMO-4534;jsessionid=FB20DD5973F01DD2D470FB9A1B45D209?page=com.atlassian.jira.plugin.system.issuetabpanels%3Aall-tabpanel

  1) Change the config.xml and start the server. 

-see here how to change 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

[or your version of geronimo-kernel jar]

 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.
Share:
15,149
Alotor
Author by

Alotor

I've been working on IT since 2006 as IT consultant and Java EE developer for several Spanish companies such as Endesa, Ericsson and Caja Madrid.

Updated on June 04, 2022

Comments

  • Alotor
    Alotor almost 2 years

    I've deployed some Managed Beans on WebSphere 6.1 and I've managed to invoke them through a standalone client, but when I try to use the application "jconsole" distributed with the standard JDK can can't make it works.

    Has anyone achieved to connect the jconsole with WAS 6.1?

    IBM WebSphere 6.1 it's supossed to support JSR 160 JavaTM Management Extensions (JMX) Remote API. Furthermore, it uses the MX4J implementation (http://mx4j.sourceforge.net). But I can't make it works with neither "jconsole" nor "MC4J".

    I have the Classpath and the JAVA_HOME correctly setted, so the issue it's not there.

  • Flueras Bogdan
    Flueras Bogdan almost 15 years
    I'm having the same problem.. for WASCE 2.1.1.1
  • Berlin Brown
    Berlin Brown over 7 years
    This really sucks, I have been trying to do this as well. The Performance tools with Websphere also don't work very well. Meaning, they don't run. I think we are expected not to actually performance test/jmx websphere.