2011-05-30 69 views
2

我在Solaris 10服务器上的twiddle脚本有问题。 我必须阅读一些属性,例如jboss.system等。 根据JBoss服务器上的所有属性都很好,但是当我尝试 从java.lang读取属性时,会出现以下错误:JBoss JMX twiddle运行时间未注册

javax.management.InstanceNotFoundException: java.lang:type=Runtime is not registered. 

回答

3

的问题是,的java.lang:类型=运行平台MBeanServer已注册MBean,默认情况下,twiddle会将您连接到JBoss MBeanServer,默认情况下,它们不会注册RuntimeMXBean服务器。

假设您只想访问系统属性,解决此问题的最简单方法是指向JBoss MBean jboss:name=SystemProperties,type=Service。该MBean暴露:

String get(String key) 
String get(String key, String default) 

或检索所有值,

Map shopwAll() 

其他比较费力的解决办法inlcude:

  • 注册平台MBeanServer的MXBean在JBoss MBeanServer中。看到这个Question
  • 在JVM中启用管理代理并使用JMX连接器连接到Platform MBeanServer。请参阅Question
  • 使用Attach API通过进程ID连接到JBoss服务器的平台MBeanServer。然后您可以引用MXRuntime MBean。