Я пытаюсь удаленно вызвать 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 указывают, что строковый параметр - это выходной файл для этой ссылки. Но все еще неясно, как передать параметры в мою команду.