gpt4 book ai didi

java - 使用 JMX 连接访问 GridKernalMBean

转载 作者:行者123 更新时间:2023-12-01 12:15:23 25 4
gpt4 key购买 nike

我能够从 jconsole 访问 Gridgain beans,但是当我尝试以编程方式使用 JMX 访问网格内的 Gridgain beans(例如 GridKernalMBean)时,我收到“javax.management.NotCompliantMBeanException”

这是我正在使用的代码:

String jmxUrl = "service:jmx:rmi:///jndi/rmi://" + HOST+ ":" + PORT + "/jmxrmi";
JMXServiceURL url = new JMXServiceURL(jmxUrl);
JMXConnector jmxc = JMXConnectorFactory.connect(url, null);
MBeanServerConnection mbsc = jmxc.getMBeanServerConnection();
ObjectName objectName = new ObjectName("org.gridgain:grid=gridname,group=Kernal,name=GridKernal");
org.gridgain.grid.GridKernalMBean mbean = JMX.newMXBeanProxy(mbsc, objectName, org.gridgain.grid.GridKernalMBean.class);

网格外的 Bean 工作正常:-

String jmxUrl = "service:jmx:rmi:///jndi/rmi://" + HOST+ ":" + PORT + "/jmxrmi";
JMXServiceURL url = new JMXServiceURL(jmxUrl);
JMXConnector jmxc = JMXConnectorFactory.connect(url, null);
MBeanServerConnection mbsc = jmxc.getMBeanServerConnection();
ObjectName objectName = new ObjectName("org.gridgain:group=Kernal,name=GridGain");
org.gridgain.grid.GridGainMBean mbean = JMX.newMXBeanProxy(mbsc, objectName, org.gridgain.grid.GridGainMBean.class);

我是否缺少 gridgain 配置文件中的任何配置?

最佳答案

这意味着您的目标 mbean 不是 MXBean,并且公开非标准数据类型。尝试使用 javax.management.MBeanServerIncationHandler 创建代理。它更自由一些,但请记住,那些非标准类型属性不会出现在您的客户端中,除非它们是可序列化的并且位于您的客户端类路径中。

关于java - 使用 JMX 连接访问 GridKernalMBean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27049710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com