可以使用以下命令行JMX实用程序:
- jmxterm-似乎是功能最齐全的实用程序。
- cmdline-jmxclient-在WebArchive项目中使用似乎很简单(并且自2006年以来就没有开发)
- Groovy脚本和JMX-提供了一些非常强大的JMX功能,但需要使用Groovy和其他库设置。
- JManage命令行功能 -(缺点是它需要运行的JManage服务器来代理命令)
Groovy JMX示例:
import java.lang.management.*import javax.management.ObjectNameimport javax.management.remote.JMXConnectorFactory as JmxFactoryimport javax.management.remote.JMXServiceURL as JmxUrldef serverUrl = 'service:jmx:rmi:///jndi/rmi://localhost:9003/jmxrmi'String beanName = "com.webwars.gameplatform.data:type=udmdataloadsystem,id=0"def server = JmxFactory.connect(new JmxUrl(serverUrl)).MBeanServerConnectiondef dataSystem = new GroovyMBean(server, beanName)println "Connected to:n$dataSystemn"println "Executing jmxForceRefresh()"dataSystem.jmxForceRefresh();
cmdline-jmxclient示例:
如果您有
- MBean:com.company.data:type=datasystem,id=0
使用一个称为:
- jmxForceRefresh()
然后,您可以编写一个简单的bash脚本(假设您下载了cmdline-
jmxclient-0.10.3.jar并放置在与脚本相同的目录中):
#!/bin/bashcmdLineJMXJar=./cmdline-jmxclient-0.10.3.jaruser=yourUserpassword=yourPasswordjmxHost=localhostport=9003#No User and password so pass '-'echo "Available Operations for com.company.data:type=datasystem,id=0"java -jar ${cmdLineJMXJar} ${user}:${password} ${jmxHost}:${port} com.company.data:type=datasystem,id=0echo "Executing XML update..."java -jar ${cmdLineJMXJar} - ${jmxHost}:${port} com.company.data:type=datasystem,id=0 jmxForceRefresh


