Java 命令行JMX客户端设置值
我使用它来查询ActiveMQ服务器。同时,我希望能够为服务器动态设置值。例如memoryLit 是否可以通过命令行JMX客户端设置值,如果可以,如何设置内存限制 这就是我能够查询的方式Java 命令行JMX客户端设置值,java,activemq,jmx,Java,Activemq,Jmx,我使用它来查询ActiveMQ服务器。同时,我希望能够为服务器动态设置值。例如memoryLit 是否可以通过命令行JMX客户端设置值,如果可以,如何设置内存限制 这就是我能够查询的方式 java -jar cmdline-jmxclient-0.10.3.jar - localhost:1099 org.apache.activemq:BrokerName=defaultBroker,Destination=Testing,Type=Queue MemoryLimit 但是如何设置Memor
java -jar cmdline-jmxclient-0.10.3.jar - localhost:1099 org.apache.activemq:BrokerName=defaultBroker,Destination=Testing,Type=Queue MemoryLimit
但是如何设置MemoryLit
我尝试了以下方法:
java -jar cmdline-jmxclient-0.10.3.jar - localhost:1099 org.apache.activemq:BrokerName=defaultBroker,Destination=Testing,Type=Queue setMemoryLimit=300000`
失败,如下所示。
2011年11月18日11:56:28-0800 org.archive.jmx.Client setMemoryLimit=300000:找不到操作setMemoryLimit。编辑
我建议删除jmxclient并切换到:
它似乎得到了支持,并得到了更好的记录。我怀疑它会起作用,让你可以访问setter——如果它们存在的话
如果set方法确实存在,则以下操作应有效:
java -jar cmdline-jmxclient-0.10.3.jar - localhost:1099 \
org.apache.activemq:BrokerName=defaultBroker,Destination=Testing,Type=Queue \
setMemoryLimit=...
以下是文件:
为了找出哪些属性可用于设置和获取,我将使用jconsole。如果您使用的是Java6+jconsole,那么可以单击要从中获取信息的bean。这将显示要在命令行上使用的ObjectName
。然后,如果打开属性列表,则属性的名称应具有相应的get方法。如果值为蓝色,则应该有相应的设置方法
例如,如果打开jconsole中的java.lang
文件夹,您应该能够单击ClassLoading
。显示要使用的ObjectName
是java.lang:type=ClassLoading
。然后,可以执行以下操作以列出各种可用属性和操作:
java -jar cmdline-jmxclient-0.10.3.jar - localhost:1099 \
java.lang:type=ClassLoading
你应该看看接球手和二传手。下面是获得Verbose
属性的方法:
java -jar cmdline-jmxclient-0.10.3.jar - localhost:1099 \
java.lang:type=ClassLoading Verbose
出于某种原因,我的版本cmdline jmxclient不知道如何执行boolean
类型,因此它不会显示为setter。如果有,您应该能够做到:
java -jar cmdline-jmxclient-0.10.3.jar - localhost:1099 \
java.lang:type=ClassLoading setVerbose=true
对不起,我的问题忘了提,我试过了,但没用。请看我的编辑。你确定上面有一套方法吗?你能在jconsole上完成吗?如果是这样,那么您应该能够显示正在调用的方法,然后在命令行中复制该方法的名称。这就是为什么我想通过命令行来实现这一点,这样我就可以自动化它了?我看到一个图形用户界面。如果您使用的是java6+jconsole,那么您可以打开一个bean来显示属性和操作。如果单击bean的名称,您将看到要在命令行上使用的
ObjectName
。然后,如果打开属性列表,则属性的名称应具有相应的get方法。如果值为蓝色,则应该有相应的设置方法。MemoryLit有一个属性,我只是看不到设置它的正确方法。