Как передать параметры в функцию JMX MBean из командной строки - PullRequest
0 голосов
/ 21 марта 2019

Я пытаюсь удаленно вызвать MBean через командную строку. Прямо сейчас я могу перечислить атрибуты и операции. Например, я могу перечислить все атрибуты и операции для HotspotDiagnostic, используя эту команду:

java -jar cmdline-jmxclient-0.10.3.jar admin:P@sSw0rd 10.11.12.13:1111 com.sun.management:type=HotSpotDiagnostic

Что дает мне этот список атрибутов и операций

Attributes:
 DiagnosticOptions: DiagnosticOptions (type=[Ljavax.management.openmbean.CompositeData;)
 ObjectName: ObjectName (type=javax.management.ObjectName)
Operations:
 dumpHeap: dumpHeap
  Parameters 2, return type=void
   name=p0 type=java.lang.String p0
   name=p1 type=boolean p1
 getVMOption: getVMOption
  Parameters 1, return type=javax.management.openmbean.CompositeData
   name=p0 type=java.lang.String p0
 setVMOption: setVMOption
  Parameters 2, return type=void
   name=p0 type=java.lang.String p0
   name=p1 type=java.lang.String p1

Но теперь допустим, что я хочу вызвать операцию dumpHeap, которая принимает два параметра p0 и p1 типа string и boolean соответственно. Как мне передать эти аргументы?

Я пробовал это:

java -jar cmdline-jmxclient-0.10.3.jar admin:P@sSw0rd10.11.12.13:1111 com.sun.management:type=HotSpotDiagnostic dumpHeap p0=aaa p1=true

java -jar cmdline-jmxclient-0.10.3.jar admin:P@sSw0rd10.11.12.13:1111 com.sun.management:type=HotSpotDiagnostic dumpHeap aaa true

Но я не уверен, что такое синтаксис или даже то, что я должен передать для строкового параметра. Это не для чего-то конкретного, кстати. Просто хочу узнать и понять больше о том, как использовать эти операции из командной строки. Любые документы и помощь высоко ценится.

РЕДАКТИРОВАТЬ: Я наивный. Документы Oracle указывают, что строковый параметр - это выходной файл для этой ссылки. Но все еще неясно, как передать параметры в мою команду.

...