我对JMX有点陌生,在这里我试图使用jdk提供的j控制台来远程读取JBOSS EAP 6的MBeans。我遵循了教程,http://magnus-k-karlsson.blogspot.in/2013/01/how-to-remote-connect-jconsole-to-jboss.html有了这个我能够使用eap 6(EAP6_HOME)/bin/jconsole.sh提供的j控制台进行远程读取,但我无法使用jdk的jema进行相同的操作?请就此发表您的看法。我怀疑这可能是由于(service: jmx:远程-jmx://192.168.0.3:9999)jmx远程url的远程-jmx协议。jbost-eap6是否支持rmi(service: jmx: rmi://jndi/rmi://ipadress/mbeanname)协议来读取jema中的MBeans?
谢谢你,利奥。
为了能够使用Remote ting-jmx协议,您需要在JConsole类路径上有jboss-client.jar
或jboss-cli-client.jar
。
以下是jconsole的相关部分。JBoss提供的sh:
CLASSPATH=$JAVA_HOME/lib/jconsole.jar
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar
CLASSPATH="$CLASSPATH:$JBOSS_HOME/bin/client/jboss-cli-client.jar"
$JAVA_HOME/bin/jconsole -J-Djava.class.path="$CLASSPATH" "$@"
附言:您可能需要先创建一些用户帐户。请参阅$JBOSS_HOME/bin/add-user.sh
默认情况下,当连接为以下对象时,jconsole窗口中将有一个MBeans选项卡:
service:jmx:remoting-jmx://jbossHost:9999