Я использую Spring jmx
для создания клиента jmx
, который может взаимодействовать с кластером Cassandra
, чтобы получить атрибут объекта mbean. Livedicsspaceused.Как создать JMX-клиент, который может взаимодействовать с несколькими серверами jmx, используя различные serviceUrl
Таким образом, у этого Cassandra
кластера было 3 узла, следовательно, различные службы Url (каждый из которых имел разные IP-адреса).
Теперь я понимаю, что при создании MBeanServerConnectionFactoryBean боба я могу указать только один 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);
Как я могу получить это значение во всех трех узлах?