java - 命令行 JMX 客户端设置值

标签 java activemq jmx

我正在使用Command-line JMX Client能够查询ActiveMQ服务器。同时我希望能够动态地向服务器设置值。例如内存限制

是否可以通过命令行 JMX 客户端设置值,如果可以,我如何设置内存限制?

这就是我能够查询的方式。

java -jar cmdline-jmxclient-0.10.3.jar - localhost:1099 org.apache.activemq:BrokerName=defaultBroker,Destination=Testing,Type=Queue MemoryLimit

但是我如何设置内存限制?

我尝试了以下方法:

java -jar cmdline-jmxclient-0.10.3.jar - localhost:1099 org.apache.activemq:BrokerName=defaultBroker,Destination=Testing,Type=Queue setMemoryLimit=300000`

失败如下。

11/18/2011 11:56:28 -0800 org.archive.jmx.Client setMemoryLimit=300000:找不到操作 setMemoryLimit。

最佳答案

编辑

我建议放弃 jmxclient 并切换到:

http://wiki.cyclopsgroup.org/jmxterm

它看起来得到了支持并且有更好的文档记录。我怀疑它会起作用并让您可以访问 setter - 如果它们存在。

<小时/>

如果 set 方法确实存在,则以下内容应该有效:

java -jar cmdline-jmxclient-0.10.3.jar - localhost:1099 \
    org.apache.activemq:BrokerName=defaultBroker,Destination=Testing,Type=Queue \
    setMemoryLimit=...

以下是文档:

http://crawler.archive.org/cmdline-jmxclient/

要找出哪些属性可用于设置和获取,我将使用 jconsole。如果您使用的是 Java6+ jconsole,则可以单击要从中获取信息的 bean。这应该会显示要在命令行上使用的 ObjectName。那么如果你打开属性列表,属性的名称应该有对应的get方法。如果值是蓝色的那么应该有相应的设置方法。

例如,如果您在 jconsole 中打开 java.lang 文件夹,则应该能够单击 ClassLoading。这表明您要使用的 ObjectNamejava.lang:type=ClassLoading。然后,您可以执行以下操作来列出可用的各种属性和操作:

java -jar cmdline-jmxclient-0.10.3.jar - localhost:1099 \
    java.lang:type=ClassLoading

您应该看到 getter 和 setter。以下是获取 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

关于java - 命令行 JMX 客户端设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8187910/

相关文章:

java - 在哪里关闭结果集

java - 当客户端在 activemq 中空闲时间时删除特定队列

java - 在 ActiveMQ 消息传递中订阅多个主题目标

java - 如何以编程方式启动/停止 EJB

java - 测量 JVM : java code 的 CPU 使用率

java - 在没有 HotSpotDiagnosticMXBean 的情况下从应用程序内部创建堆转储

java - 为允许多个值的 hibernate validator 提供值

java - 如何将跨源资源共享与 Spring MVC 4.0.0 RESTful Webservice 集成

java - 如何以编程方式从客户端获取 ActiveMQ 代理版本

java - 是否可以在java中的浏览器小程序上进行大尺寸图像处理?