De ligne de commande Client JMX valeur de consigne
Je m en utilisant De ligne de commande Client JMX pour être en mesure d'interroger ActiveMQ Serveur. En même temps, je veux être en mesure de définir des valeurs dynamiquement sur le serveur. comme MemoryLimit.
Est-il possible de définir des valeurs par Ligne de Commande client JMX, si oui , comment puis-je définir la limite de mémoire?
C'est ainsi que j'ai pu interroger.
java -jar cmdline-jmxclient-0.10.3.jar - localhost:1099 org.apache.activemq:BrokerName=defaultBroker,Destination=Testing,Type=Queue MemoryLimit
mais comment puis-je définir memorylimit?
J'ai essayé ci-dessous:
java -jar cmdline-jmxclient-0.10.3.jar - localhost:1099 org.apache.activemq:BrokerName=defaultBroker,Destination=Testing,Type=Queue setMemoryLimit=300000`
et a échoué en tant que ci-dessous.
11/18/2011 11:56:28 -0800 org.archive.jmx.Client setMemoryLimit=300000: Opération setMemoryLimit pas trouvé.
Êtes-vous sûr qu'il y est une méthode de jeu? Pouvez-vous le faire à partir de jconsole? Si oui, alors vous devriez être en mesure de montrer ce que la méthode est appelée, et puis dupliquez le nom de la méthode dans la ligne de commande.
oui, j'ai été en mesure de le faire avec JConsole. c'est pourquoi je voulais le faire via la ligne de commande, donc je peux automatiser.
comment puis-je voir sur jconsole, quelle méthode a été appelée? je vois une interface graphique. ne pas me montrer les appels de méthode.
Si vous utilisez un java6+ jconsole, vous vous ouvrez à un haricot d'afficher les Attributs et les Opérations. Si vous cliquez sur le nom de la fève, vous devriez voir le
activemq.apache.org/jmx.html il y a un attribut pour MemoryLimit, seulement je ne vois pas la bonne méthode.
oui, j'ai été en mesure de le faire avec JConsole. c'est pourquoi je voulais le faire via la ligne de commande, donc je peux automatiser.
comment puis-je voir sur jconsole, quelle méthode a été appelée? je vois une interface graphique. ne pas me montrer les appels de méthode.
Si vous utilisez un java6+ jconsole, vous vous ouvrez à un haricot d'afficher les Attributs et les Opérations. Si vous cliquez sur le nom de la fève, vous devriez voir le
ObjectName
à utiliser sur la ligne de commande. Alors si vous ouvrez la liste des attributs, le nom de l'attribut doit avoir une correspondante de la méthode get. Si la valeur est de couleur bleue, puis il devrait y avoir un ensemble correspondant de la méthode.activemq.apache.org/jmx.html il y a un attribut pour MemoryLimit, seulement je ne vois pas la bonne méthode.
OriginalL'auteur DarthVader | 2011-11-18
Vous devez vous connecter pour publier un commentaire.
Modifier
Je le recommande à la baisse que jmxclient et de commutation:
Il semble être pris en charge et mieux documenté. Je soupçonne qu'il va travailler et de vous donner accès à la setters-si elles existent.
Si la méthode n'existe pas, alors la suivante devrait fonctionner:
Voici les docs:
Pour savoir quels sont les attributs disponibles pour l'établissement et l'obtention d', j'utiliserais jconsole. Si vous utilisez un Java6+ jconsole, vous champ, cliquez sur le haricot vous souhaitez obtenir des informations. Cela devrait vous montrer les
ObjectName
à utiliser sur la ligne de commande. Alors si vous ouvrez la liste des attributs, le nom de l'attribut doit avoir une correspondante de la méthode get. Si la valeur est de couleur bleue, puis il devrait y avoir un ensemble correspondant de la méthode.Par exemple, si vous ouvrez la
java.lang
dossier dans la jconsole, vous devriez être en mesure de cliquer surClassLoading
. Qui vous montre leObjectName
à utiliser estjava.lang:type=ClassLoading
. Vous pouvez ensuite exécuter la commande suivante pour répertorier les différents attributs et les opérations disponibles:Vous devriez voir les getters et les setters. Voici comment vous obtenez le
Verbose
attribut:Pour quelque raison que ma version cmdline-jmxclient ne sais pas comment faire
boolean
type de sorte qu'il n'apparaît pas comme un setter. Si c'était le cas vous devriez être en mesure de le faire:OriginalL'auteur Gray