JMX. Можно ли сделать вложенные MBeans?

1

Например, у меня есть некоторое хранилище, которое я хочу управлять через jmx. Я хочу иметь контроль над всеми членами хранилища вместе и отдельно. Интерфейс хранилища может выглядеть так:

public interface StorageMBean {
    int getSize();

    int disableAll();

    // ??????
    List<EntryMBean> getAllEntries();
}

И интерфейс записи с одним хранилищем выглядит следующим образом:

public interface EntryMBean {
    String getName();

    void disable();
}

Поэтому я хочу иметь возможность запускать jconsole и отключать все записи сразу или один за другим. Теперь я вижу только один способ: зарегистрируйте GroupStorageMBean, где я помещаю групповые методы. И зарегистрируйте много отдельных EntryMBeans. И теперь мне нужно синхронизировать все эти объекты. Было бы проще, если бы я мог зарегистрировать StorageMBean, и он обеспечил бы вложенные MBeans как атрибут или что-то вроде этого. Таким образом, с помощью такого метода я мог бы получить все записи и работать с ними индивидуально. Надеюсь, мои объяснения не были очень запутанными. Можно ли это сделать?

Теги:
jmx

1 ответ

0

Возможно, для void disableByIndex(int i) может быть использован void disableByIndex(int i) или void disableByName(String name) который может отключить отдельный экземпляр. Я не уверен, что создание вложенных MBeans возможно, но в любом случае я считаю это излишне сложным решением, и почти уверен, что JConsole не справляется с ними.

Надеюсь это поможет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню