首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过旋转检索系统属性

通过旋转检索系统属性
EN

Stack Overflow用户
提问于 2012-08-23 15:02:58
回答 1查看 2.2K关注 0票数 2

我正在尝试使用jboss4.3中的twiddle从JMX-console中检索系统属性。

下面的命令有效并为我提供了单个属性的值...

代码语言:javascript
复制
twiddle.sh -u<username> -p<password> -Djnp.disableDiscovery 
--server=localhost:<port>
invoke 'jboss:name=SystemProperties,type=Service' get 
<SYSTEM PROPERTY NAME>

但是,当我尝试一次获取所有属性时,它不起作用...

代码语言:javascript
复制
twiddle.sh -u<username> -p<password> -Djnp.disableDiscovery 
--server=localhost:<port> 
invoke 'jboss:name=SystemProperties,type=Service' showAll

并显示以下异常:

代码语言:javascript
复制
00:02:21,773 ERROR [Twiddle] Exec failed
java.lang.reflect.UndeclaredThrowableException
        at $Proxy0.invoke(Unknown Source)
        at org.jboss.console.twiddle.command.InvokeCommand.invoke(InvokeCommand.java:234)
        at org.jboss.console.twiddle.command.InvokeCommand.execute(InvokeCommand.java:282)
        at org.jboss.console.twiddle.Twiddle.main(Twiddle.java:306)
Caused by: java.lang.ClassNotFoundException: org.jboss.varia.property.SystemPropertiesService$HTMLMap (no security manager: RMI class loader disabled)
        at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:375)
        at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:165)
        at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:620)
        at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:247)
        at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:197)
        at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
        at java.rmi.MarshalledObject.get(MarshalledObject.java:142)
        at org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(JRMPInvokerProxy.java:134)
        at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:365)
        at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:197)
        at org.jboss.jmx.connector.invoker.client.InvokerAdaptorClientInterceptor.invoke(InvokerAdaptorClientInterceptor.java:66)
        at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:70)
        at org.jboss.proxy.ClientMethodInterceptor.invoke(ClientMethodInterceptor.java:74)
        at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:100)
        ... 4 more

有什么线索吗?

编辑

添加properties-plugin.jar后,错误更改为:

代码语言:javascript
复制
01:51:36,366 ERROR [Twiddle] Exec failed
java.lang.RuntimeException: No property editor for type: class org.jboss.varia.property.SystemPropertiesService$HTMLMap
        at org.jboss.util.propertyeditor.PropertyEditors.getEditor(PropertyEditors.java:176)
        at org.jboss.console.twiddle.command.InvokeCommand.invoke(InvokeCommand.java:244)
        at org.jboss.console.twiddle.command.InvokeCommand.execute(InvokeCommand.java:282)
        at org.jboss.console.twiddle.Twiddle.main(Twiddle.java:306)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-23 16:39:44

出现此错误的原因是showAll返回了自定义类org.jboss.varia.property.SystemPropertiesService$HTMLMap的对象,而该对象不存在于twiddle的类路径中。

只需添加到您的twiddle.sh:

代码语言:javascript
复制
JBOSS_CLASSPATH="$JBOSS_CLASSPATH:$JBOSS_HOME/server/default/lib/properties-plugin.jar"

注意,它是针对JBoss 4.x的。你没有提到版本。但堆栈跟踪表明它是JBoss 4.x。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12086356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档