我正在使用Spring jmx
创建jmx
可以与Cassandra
集群交互以获取 mbean 对象属性 Livedicsspaceused 的客户端。
所以这个Cassandra
集群有3个节点,因此有不同的serviceUrl(每个都有不同的IP地址)。
现在我意识到,在创建 MBeanServerConnectionFactoryBean bean 时,我只能指定一个服务 URl,如下所示:
@Bean
MBeanServerConnectionFactoryBean getConnector() {
MBeanServerConnectionFactoryBean mBeanfactory = new MBeanServerConnectionFactoryBean();
try {
mBeanfactory.setServiceUrl("serviceUrl1");
} catch (MalformedURLException e) {
e.printStackTrace();
}
mBeanfactory.setConnectOnStartup(false);
return mBeanfactory;
}
然后我主要访问如下:
objectName = newObjectName(QueueServicesConstant.MBEAN_OBJ_NAME_LIVE_DISC_USED);
long count = (Long)mBeanFactory.getObject().getAttribute(objectName, QueueServicesConstant.MBEAN_ATTR_NAME_COUNT);
我怎样才能在所有三个节点中获得这个值?