Ein Kollege fragte mich, ob jconsole eine Verbindung zu einer laufenden IBM Webpshere 6.1-Instanz herstellen kann. Auf diese Weise könnten Sie Leistungsdaten sammeln und mit Mbeans arbeiten wie mit jeder anderen 1.5+ JVM. Ich hatte das noch nie ausprobiert, aber ich sah schnell, dass jconsole mit der Websphere-JVM geliefert wird, also sagte ich, dass ich es versuchen würde.
Was können Sie also tun? Sie benötigen wahrscheinlich eine lokale Websphere 6.1-Installation, da es einfacher ist, eine Websphere JVM zu verwenden, um eine Verbindung zu einem Server herzustellen. In diesem Beispiel habe ich dies getan.
Gehen Sie zunächst zu WAS_HOME/profiles/dmgr01/properties/sas.client.props und setzen Sie die folgenden Eigenschaften (vorausgesetzt, Sie haben die Sicherheit aktiviert):
com.ibm.CORBA.loginSource=properties
com.ibm.CORBA.loginUserid=<your websphere username>
com.ibm.CORBA.loginPassword=<your password>
Starten Sie dann WAS_HOME/java/bin/jconsole mit den folgenden Optionen:
-J-Djava.class.path=WAS_HOME/java/lib/tools.jar;WAS_HOME/runtimes/com.ibm.ws.admin.client_6.1.0.jar
-J-Djava.naming.factory.initial=com.ibm.websphere.naming.WsnInitialContextFactory
-J-Dcom.ibm.CORBA.ConfigURL=file:WAS_HOME/profiles/dmgr01/properties/sas.client.props
-J-Dcom.ibm.SSL.ConfigURL=file:WAS_HOME/profiles/dmgr01/properties/ssl.client.props
Tragen Sie WAS_HOME selbst ein und achten Sie auf das Semikolon unter Unix!
dmgr01 ist mein Deployment Manager-Profil
Das -J gibt Ihnen die Möglichkeit, eine beliebige Standard-JVM-Option einzugeben, so wäre jconsole -J-Xmx500M
der Weg, den Heap auf 500Mb zu setzen.
Dann öffnet sich die Benutzeroberfläche. Gehen Sie auf die Registerkarte
Als Nächstes habe ich die Konsole mit dem Anwendungsserver verbunden (der das Bus-Mitglied ist). Suchen Sie den Bootstrap-Port (normalerweise 2809) und ersetzen Sie ihn in der JMXConnector-URL. Der Bus ist kein separater Prozess in Websphere. Stattdessen wird die Messaging Engine Teil eines Servers oder Clusters, wenn sie als Bus-Mitglied hinzugefügt wird.
In der Mbean server1JMSBasicfunction gibt es eine enqueue-Operation, die ich verwendet habe, um die Nachricht "Hallo Welt" in die Warteschlange zu stellen. Eine weitere Mbean namens server1BasicAdministration enthält eine Browse-Operation. Und voilà.
All dies wäre ein schneller Weg, um beispielsweise Tests für Message Driven Beans einzurichten. Sie könnten auch Unit-Tests schreiben, die die Mbean aufrufen, um dasselbe zu tun.
Verfasst von
Sander Hautvast
Contact



