Обнаружение недавно зарегистрированных MBeans

Я использую сервер MBeans платформы в Java 1.6, работающий в контейнере OSGi.

Использование MBeans в основном для статистических счетчиков и событий. Их реализация находится в одном пакете, но они созданы в нескольких других пакетах. Каждый MBean автоматически регистрируется на сервере MBean платформы.

Проблема в том, что когда я подключаюсь через JMX и запрашиваю MBean, Я получаю только те, которые в настоящее время зарегистрированы, и они не будут зарегистрированы до тех пор, пока они не будут созданы (либо потому, что статические классы не существуют до первого доступа, либо потому, что пакет еще не запущен, либо счетчик глубоко в некоторая логика, которая не будет существовать до первого использования)

Мне нужен какой-то способ подписки на события "регистрации" на сервере MBeans. Или какой-либо другой способ определить, когда на сервер добавлены новые MBean-компоненты. Обнаружение удаленных MBean-компонентов было бы дополнительным бонусом, но не обязательно.

Единственное решение, которое у меня есть, это в основном поток, который опрашивает сервер каждые 5 секунд и сравнивает результат с сохраненным списком MBean-компонентов, и это довольно уродливо. .

6
задан MarcB 29 March 2011 в 08:15
поделиться