【问题标题】:Infinispan Server : How to enable JMX monitoring?Infinispan 服务器:如何启用 JMX 监控?
【发布时间】:2014-04-07 00:30:47
【问题描述】:

我有一个 Infinispan 服务器,版本 6.0.x,它是从 JBoss 7.2 派生的,它在缓存方面工作得很好。

但是,当我尝试通过 JMX 监控它时,我不能。这是 URL 我输入 jconsole.bat

service:jmx:remoting-jmx://MY.IP.ADDRESS.HERE:9999

但我收到此错误:

Exception in thread "VMPanel.connect" java.util.ServiceConfigurationError: javax.management.remote.JMXConnectorProvider: Provider org.jboss.remotingjmx.RemotingConnectorProvider could not be instantiated: java.lang.NoClassDefFoundError: org/jboss/logging/Logger
    at java.util.ServiceLoader.fail(ServiceLoader.java:224)
    at java.util.ServiceLoader.access$100(ServiceLoader.java:181)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:377)
    at java.util.ServiceLoader$1.next(ServiceLoader.java:445)
    at javax.management.remote.JMXConnectorFactory.getConnectorAsService(JMXConnectorFactory.java:472)
    at javax.management.remote.JMXConnectorFactory.newJMXConnector(JMXConnectorFactory.java:341)
    at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:267)
    at sun.tools.jconsole.ProxyClient.tryConnect(ProxyClient.java:370)
    at sun.tools.jconsole.ProxyClient.connect(ProxyClient.java:313)
    at sun.tools.jconsole.VMPanel$2.run(VMPanel.java:292)
Caused by: java.lang.NoClassDefFoundError: org/jboss/logging/Logger
    at org.jboss.remotingjmx.RemotingConnectorProvider.<clinit>(RemotingConnectorProvider.java:42)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at java.lang.Class.newInstance(Class.java:374)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:373)
    ... 7 more
Caused by: java.lang.ClassNotFoundException: org.jboss.logging.Logger
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 14 more
Exception in thread "VMPanel.connect" java.util.ServiceConfigurationError: javax.management.remote.JMXConnectorProvider: Provider org.jboss.remotingjmx.RemotingConnectorProvider could not be instantiated: java.lang.NoClassDefFoundError: Could not initialize class org.jboss.remotingjmx.RemotingConnectorProvider
    at java.util.ServiceLoader.fail(ServiceLoader.java:224)
    at java.util.ServiceLoader.access$100(ServiceLoader.java:181)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:377)
    at java.util.ServiceLoader$1.next(ServiceLoader.java:445)
    at javax.management.remote.JMXConnectorFactory.getConnectorAsService(JMXConnectorFactory.java:472)
    at javax.management.remote.JMXConnectorFactory.newJMXConnector(JMXConnectorFactory.java:341)
    at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:267)
    at sun.tools.jconsole.ProxyClient.tryConnect(ProxyClient.java:357)
    at sun.tools.jconsole.ProxyClient.connect(ProxyClient.java:313)
    at sun.tools.jconsole.VMPanel$2.run(VMPanel.java:292)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.jboss.remotingjmx.RemotingConnectorProvider
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at java.lang.Class.newInstance(Class.java:374)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:373)
    ... 7 more

也许我应该在某个地方创建一些托管 bean?我该如何解决这个问题?

备注 1 :在文档中,它们包括 &lt;global&gt;&lt;/global&gt; 之间的必要配置,但在我的情况下,设置应该尊重 JBoss Schema...

备注 2:我尝试使用 JBoss 7.2,它可以显示图表等,顺便说一下,我使用了相同的 URL。不同的是我使用了JBoss的jconsole.bat而不是Infinispan。

请问您对必要的配置有什么想法吗?

谢谢。

【问题讨论】:

  • 如果使用 JBoss 的jconsole.bat 来监控 Infinispan Server 是否有效?
  • 我已经下载了 JDG 6.3.2 并且遇到了同样的问题。将所有缺少的 jar 添加到类( jboss-logging , jboss-remote , xnio 等),但仍然无法连接

标签: java jboss jmx infinispan


【解决方案1】:

我是 Windows 7 用户,这是对我有用的修复程序。 打开 jconsole.bat 进行编辑。 在顶部,打开回显。

@echo on

然后下去找到这条线

call :SearchForJars "%JBOSS_MODULEPATH%\system\layers\base\org\jboss\logging\main"

在其前面插入以下行:

echo "%JBOSS_MODULEPATH%\system\layers\base\org\jboss\logging\main"

我不确定为什么会这样,但确实如此。如果您得到不同的 ClassNotFound 异常,请尝试其他 jar 搜索上方的 echo 语句。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-13
    • 2021-02-04
    • 2013-07-16
    • 1970-01-01
    相关资源
    最近更新 更多