2008-08-26 25 views
3

Ich habe einige Managed Beans in WebSphere 6.1 implementiert und konnte sie über einen eigenständigen Client aufrufen. Wenn ich jedoch versuche, die Anwendung "jconsole" zu verwenden, die mit dem Standard-JDK ausgeliefert wird, funktioniert das nicht.Wie kann ich "jconsole" mit Websphere 6.1 arbeiten lassen?

Hat jemand erreicht, die jconsole mit WAS 6.1 zu verbinden?

IBM WebSphere 6.1 unterstützt JSR 160 JavaTM Management Extensions (JMX) Remote API. Darüber hinaus verwendet es die MX4J-Implementierung (http://mx4j.sourceforge.net). Aber ich kann es weder mit "jconsole" noch "MC4J" machen.

Ich habe den Klassenpfad und die JAVA_HOME korrekt eingestellt, so das Problem, es ist nicht da.

+0

Siehe http://stackoverflow.com/questions/357095/how-do-you-enable-jmx-in-websphere#358814 – eljenso

Antwort

5

WebSphere-Unterstützung für JMX ist Mist. Insbesondere, wenn Sie eine Verbindung zu sicheren JMX-Beans herstellen müssen. Hier ist ein interessanter Leckerbissen, ihre eigene Implementierung von jConsole wird keine Verbindung zu ihrer eigenen JVM herstellen. Ich habe seit über einem Jahr ein PMR mit IBM geöffnet, um dieses Problem zu beheben, und habe nichts als den Umweg bekommen. Sie wollen dieses Problem natürlich nicht beheben.

Die einzige Methode, mit der ich Remote-gesicherte JMX-Beans in WebSphere aufrufen konnte, war die Implementierung eines Clients mit dem WebSphere Application Client. Dies ist im Grunde ein abgespeckter App-Server, der für solche Dinge verwendet wird.

Öffnen Sie ein PMR mit IBM. Vielleicht, wenn mehr Leute dieses Problem melden, werden sie es tatsächlich beheben.

Update: Sie können Ihre Anwendung als WebSphere Application Client in RAD laufen. Öffnen Sie das Laufmenü und wählen Sie "Ausführen ...". In dem Dialogfeld, das sich öffnet, sehen Sie auf der linken Seite ganz unten "WebSphere v6.1 Application Client". Ich bin mir nicht sicher, wie und Application Client außerhalb von RAD gestartet werden.

+0

ich das gleiche Problem .. für WASCE 2.1.1.1 –

+0

Das nervt wirklich Ich habe das auch versucht. Die Performance-Tools mit Websphere funktionieren ebenfalls nicht sehr gut. Das heißt, sie laufen nicht. Ich denke wir werden nicht wirklich Leistungstest/jmx websphere erwartet. –

0

Ich habe erfolgreich mit ActiveMQ und ServiceMix mit der JConsole verbunden. Verwendet WAS 6.1 Java Management Extension (JMX) -Technologie? JMX wird für JConsole benötigt.

Wenn Ihr Pfad richtig eingestellt ist, sollte es gut funktionieren. Unter Windows wechseln Sie zu Systemeigenschaften -> Erweitert -> Umgebungsvariablen. Lassen Sie Ihre JAVA_HOME-Systemvariable auf den Pfad Ihres JDK oder Ihrer JRE setzen und Ihre Pfadvariable mit% JAVA_HOME%/bin irgendwo dort einfügen. Dann müssen Sie nur zu Start-> Ausführen-> JConsole gehen. Wählen Sie den richtigen Prozessnamen und Ihre fertig.

Wo haben Sie Probleme? Ich hoffe das hilft.

Bearbeiten: Hier ist die Java Doc's auf JConsole.

0

Hmm ... Ich weiß, dass WebSphere ist schwer zu konfigurieren. Das ist einer der Gründe, warum wir ServiceMix für unseren ESB verwendet haben. Vielleicht ist es nicht standardmäßig in WebSphere aktiviert und Sie müssten es irgendwo in der Konfiguration aktivieren.

0

Websphere 6.1 unterstützt die JConsole aus irgendeinem Grund nicht, obwohl sie die JMS-Spezifikationen vollständig implementiert. Scheint momentan eine Woche zu sein. Am besten schauen Sie sich den Admin-Client an, um Ihre eigene Konsole zu implementieren.

1

ES FUNKTIONIERT!

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. 

-siehe hier wie config.xml ändern: 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 

[oder Ihre Version von 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. 
1

Wenn Sie möchten, die WebSphere MBeans funktioniert dieses für mich:

Der Schlüssel ist, den Klassenpfad und die Sicherheit ordnungsgemäß zu konfigurieren.

in einer Zeile:

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

wo port = Bootstrap-Port ab: (2809)

vorsichtig sein, wenn die sas und die ssl Requisiten setzen.

Robert

0

Sie scheinen alle falsch zu sein. Ich benutze Websphere 6.1.041, benutze JDK 1.5, und ich habe gerade Jconsole gestartet und den Tab "simple connect" verwendet, um eine Verbindung zu localhost mit port = 0 und ohne Benutzername und Passwort herzustellen.