Linux

JBoss 4.2 自動發現失敗 (NoClassDefFoundError)

  • June 18, 2011

我第一次嘗試使用 Hyperic。我有一個基本的伺服器和代理設置,並在 Redhat Linux 機器上工作。但是當自動發現器為 JBoss 4.2 執行時,我在這條消息的末尾得到了異常。

jboss.installpathagent.properties. 當我使用級別日誌記錄啟動代理時,DEBUG我看到配置的路徑中包含了各種 JBoss jar。但我無法自動發現 JBoss,我繼續得到相同的異常。任何有關如何解決此問題的想法將不勝感激…

011-06-17 14:25:27,572 INFO  [Thread-2] [RuntimeAutodiscoverer] Running runtime autodiscovery for NetworkServer
2011-06-17 14:25:27,582 INFO  [Thread-2] [RuntimeAutodiscoverer] NetworkServer discovery took 0
2011-06-17 14:25:27,582 INFO  [Thread-2] [RuntimeAutodiscoverer] Running runtime autodiscovery for JBoss 4.2
2011-06-17 14:25:27,941 ERROR [Thread-2] [RuntimeAutodiscoverer] Unable to run autodiscoverer for plugin: JBoss 4.2 (consult product setup help): null
java.lang.NoClassDefFoundError
       at java.lang.Class.forName0(Native Method)
       at java.lang.Class.forName(Unknown Source)
       at org.jboss.invocation.MarshalledInvocation.<clinit>(MarshalledInvocation.java:68)
       at org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(JRMPInvokerProxy.java:120)
       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)
       at $Proxy1.queryNames(Unknown Source)
       at org.hyperic.hq.plugin.jboss.JBossDetector.discoverServiceTypes(JBossDetector.java:368)
       at org.hyperic.hq.product.ServerDetector.discoverResources(ServerDetector.java:209)
       at org.hyperic.hq.autoinventory.agent.server.RuntimeAutodiscoverer.doRuntimeScan_internal(RuntimeAutodiscoverer.java:272)
       at org.hyperic.hq.autoinventory.agent.server.RuntimeAutodiscoverer.doRuntimeScan(RuntimeAutodiscoverer.java:205)
       at org.hyperic.hq.autoinventory.ScanManager.mainRunLoop(ScanManager.java:165)
       at org.hyperic.hq.autoinventory.ScanManager.access$000(ScanManager.java:41)
       at org.hyperic.hq.autoinventory.ScanManager$1.run(ScanManager.java:107)
2011-06-17 14:25:27,943 INFO  [Thread-2] [RuntimeAutodiscoverer] Running runtime autodiscovery for Net Services
2011-06-17 14:25:27,953 INFO  [Thread-2] [RuntimeAutodiscoverer] Net Services discovery took 0
2011-06-17 14:25:27,953 INFO  [Thread-2] [RuntimeAutodiscoverer] Running runtime autodiscovery for HQ Agent
2011-06-17 14:25:27,962 INFO  [Thread-2] [RuntimeAutodiscoverer] HQ Agent discovery took 0
2011-06-17 14:25:27,962 INFO  [Thread-2] [RuntimeAutodiscoverer] Running runtime autodiscovery for FileServer
2011-06-17 14:25:27,969 INFO  [Thread-2] [RuntimeAutodiscoverer] FileServer discovery took 0

將 JBoss 中的 jbossall-client.jar 放在 Hyperic Agent 的類路徑中,即(在 Hyperice Agent 的相關庫中)。

還要檢查..

問題可能是由於 Hyperic-Agent 無法擷取 JBoss-Server,因為使用了反斜杠而不是普通斜杠。

jboss.installpath=e:\jboss-4.2.1.GA -> 不行

jboss.installpath=e:/jboss-4.2.1.GA -> OK

引用自:https://serverfault.com/questions/281411