MXBeans в Java

В прошлой статье я рассказывал про MBeans, в этой речь пойдёт о MXBeans.

MXBean — это специальный тип MBean, который использует только предопределённое множество типов данных. Это нужно для того, чтобы наш MBean мог использовать любой клиент, даже тот, у которого нет доступа к классам модели нашего MBean-а.

MXBean-ы объявляются аналогично MBean-ам с помощью интерфейса MyNameMXBean и класса Java, реализующего этот интерфейс. Однако класс вовсе не обязательно называть MyName. Каждый метод в интерфейсе определяет атрибут или операцию для MXBean-а. Вместо следования правила именования интерфейса MyNameMXBean можно просто аннотировать интерфейс с помощью @MXBean.

Основная идея в MXBean-ах в том, что для стандартных типов используются сами стандартные типы, а все другие типы автоматически оборачиваются в CompositeDataSupport или TabularDataSupport.

В качестве примера можете рассмотреть небольшую программу с MXBean-ами.

Файл «Monster.java»:

Файл «LairMXBean.java»:

Файл «Lair.java»:

Файл «App.java»:

Запустите «App.java» на выполнение и подключитесь JConsole-ю точно так же, как это делали для MBean-ов.

Откройте вкладку с MBean-ами и посмотрите содержимое поля monster. Вы увидите, что там содержится CompositeDataSupport. Откройте его двойным кликом и увидите содержимое полей name и level.

Исходники на GitHub.

Скачать ZIP-архив с исходниками примера MXBean.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *