Отмена регистрации и повторная регистрация JMX MBean не удаляет ранее связанный MBeanInfo - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть класс, который регистрирует / отменяет регистрацию экземпляра MBean, когда пользователь загружает новое состояние приложения. Хотя jmx ObjectName является тем же самым, я отменяю регистрацию в настоящий момент зарегистрированного экземпляра MBean и регистрирую его снова (как ниже)

if(mBeanServer.isRegistered(OBJECT_NAME)) {
    mBeanServer.unregisterMBean(OBJECT_NAME);
}

mBeanServer.registerMBean(this, OBJECT_NAME);

После регистрации MBean я получаю обратный вызов в мой класс для связанного MBeanInfo, посредством чего я вернуть новый экземпляр MBeanInfo на основе атрибутов, которые сейчас присутствуют.

Я вижу, что хотя атрибуты, отображаемые через JConsole, верны, если я нажму кнопку refre sh на кнопке JConsole, которую я получу вызов

getAttributes(String[] names)

и предоставленный массив имен содержат как новые атрибуты, так и имена атрибутов для предыдущего объекта MBeanInfo.

Может кто-нибудь объяснить, почему старый объект MBeanInfo не уничтожен когда оригинальный MBean незарегистрирован или я что-то здесь упускаю?

...