Command-line-JMX-Client eingestellten Wert
Ich m mit Command-line-JMX-Client zu können Abfrage ActiveMQ-Server. Gleichzeitig möchte ich in der Lage sein, um Werte dynamisch auf dem server. wie die memoryLimit-Einstellung.
Ist es möglich, Werte von der Kommandozeile JMX-client, wenn ja , wie kann ich den Speicher begrenzen?
Dies ist, wie ich war in der Lage, die Abfrage.
java -jar cmdline-jmxclient-0.10.3.jar - localhost:1099 org.apache.activemq:BrokerName=defaultBroker,Destination=Testing,Type=Queue MemoryLimit
aber wie kann ich die memoryLimit-Einstellung?
Habe ich versucht unter:
java -jar cmdline-jmxclient-0.10.3.jar - localhost:1099 org.apache.activemq:BrokerName=defaultBroker,Destination=Testing,Type=Queue setMemoryLimit=300000`
und nicht wie unten.
11/18/2011 11:56:28 -0800 org.Archiv.jmx.Client setMemoryLimit=300000: Betrieb setMemoryLimit nicht gefunden.
Sind Sie sicher, dass es eine set-Methode? Können Sie es von jconsole? Wenn dem so ist, dann sollten Sie in der Lage sein, um zu zeigen, welche Methode aufgerufen wird und dann duplizieren Sie die Methode name in der Befehlszeile.
ja, ich war in der Lage, es zu tun mit JConsole. dass s, warum ich wollte dies über die Kommandozeile, so kann ich es automatisieren.
wie kann ich sehen, auf jconsole, welche Methode aufgerufen wurde? ich sehe eine gui. dont zeig mir die Methode Aufrufe.
Wenn Sie mit einem java6+ jconsole, Sie öffnen eine bean zu zeigen, die Attribute und Operationen. Wenn Sie klicken Sie auf den Namen der bean sollte man die
activemq.apache.org/jmx.html gibt es ein Attribut für die memoryLimit-Einstellung, die ich einfach nicht sehen, die richtige Methode zu setzen.
ja, ich war in der Lage, es zu tun mit JConsole. dass s, warum ich wollte dies über die Kommandozeile, so kann ich es automatisieren.
wie kann ich sehen, auf jconsole, welche Methode aufgerufen wurde? ich sehe eine gui. dont zeig mir die Methode Aufrufe.
Wenn Sie mit einem java6+ jconsole, Sie öffnen eine bean zu zeigen, die Attribute und Operationen. Wenn Sie klicken Sie auf den Namen der bean sollte man die
ObjectName
zur Verwendung auf der Kommandozeile. Dann, wenn Sie öffnen Sie die Liste Attribute der name des Attributs, sollte einen entsprechenden get-Methode. Wenn der Wert blau gefärbt, dann sollte es eine entsprechende set-Methode.activemq.apache.org/jmx.html gibt es ein Attribut für die memoryLimit-Einstellung, die ich einfach nicht sehen, die richtige Methode zu setzen.
InformationsquelleAutor DarthVader | 2011-11-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bearbeiten
Ich würde empfehlen, fallenlassen, dass jmxclient und wechseln zu:
Sieht es unterstützt zu werden und besser dokumentiert. Ich vermute, dass es funktioniert und geben Ihnen Zugriff auf die setter-wenn Sie vorhanden sind.
Wenn die set-Methode existiert, dann sollte Folgendes funktionieren:
Hier sind die docs:
Finden Sie heraus, welche Attribute stehen zur Verfügung für Einstellung und immer, ich würde jconsole verwenden. Wenn Sie mit einem Java6+ jconsole, Feld klicken Sie auf die bean, die Sie wollen, um Informationen zu bekommen. Das sollte Ihnen zeigen, die
ObjectName
zur Verwendung auf der Kommandozeile. Dann, wenn Sie öffnen Sie die Liste Attribute der name des Attributs, sollte einen entsprechenden get-Methode. Wenn der Wert blau gefärbt, dann sollte es eine entsprechende set-Methode.Zum Beispiel, wenn Sie eröffnen die
java.lang
Ordner in jconsole, sollten Sie in der Lage, klicken Sie aufClassLoading
. Das zeigt dir dieObjectName
zu verwenden istjava.lang:type=ClassLoading
. Sie können dann Folgendes tun, um eine Liste der verschiedenen Attribute und Operationen zur Verfügung:Sollten Sie den Getter und den setter. Hier ist, wie Sie bekommen die
Verbose
Attribut:Für einige Grund meine version cmdline-jmxclient nicht wissen, wie zu tun
boolean
geben, damit es nicht zeigen, wie ein setter. Wenn es Tat, Sie sollten in der Lage sein zu tun:InformationsquelleAutor Gray