简体   繁体   English

Infinispan Server:如何启用JMX监视?

[英]Infinispan Server : How to enable JMX monitoring?

I have an Infinispan Server , version 6.0.x, the one derived from JBoss 7.2, and it is working fine for caching. 我有一个Infinispan Server版本6.0.x,该版本是从JBoss 7.2派生的,并且可以很好地进行缓存。

However, when I try to monitor it by JMX I can't. 但是,当我尝试通过JMX监视它时,我无法。 This is URL I type in jconsole.bat : 这是我在jconsole.bat键入的URL

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

But I get this error : 但是我得到这个错误:

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

Maybe I should create some managed beans somewhere? 也许我应该在某个地方创建一些托管bean? How can I fix this? 我怎样才能解决这个问题?

Remark 1 : In the documentation they include the necearry configuration between <global></global> , but in my case the settings should respect JBoss Schema... 备注1 :在文档中,它们包括<global></global>之间的necearry配置,但在我的情况下,设置应遵循JBoss Schema ...

Remark 2 : I tried with JBoss 7.2, and it could show me graphs and so on, and by the way I used the same URL. 备注2 :我尝试使用JBoss 7.2,它可以显示图形等,并且可以使用相同的URL。 The difference is that I used jconsole.bat of JBoss instead of Infinispan. 区别在于我使用的是JBoss的jconsole.bat而不是Infinispan。

Please, any idea about the necessary configuration? 请对必要的配置有任何想法吗?

Thank you. 谢谢。

I'm a Windows 7 user, and this is the fix that worked for me. 我是Windows 7用户,这是对我有用的修复程序。 Open jconsole.bat for editting. 打开jconsole.bat进行编辑。 At the top, turn on the echoing. 在顶部,打开回声。

@echo on

Then go down and find this line 然后下去找到这条线

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

Insert the following line before it: 在其前面插入以下行:

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

I'm not sure why that worked, but it did. 我不确定为什么行得通,但确实如此。 If you get different ClassNotFound exceptions, try echo statements above the other jar searches. 如果您收到不同的ClassNotFound异常,请在其他jar搜索上方尝试echo语句。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM