Java Management eXtensions - это стандартный Java API, который обеспечивает инструментарий и мониторинг работающей Java-программы.

JMX

Расширения управления Java (JMX) - это технология Java, которая предоставляет инструменты для управления и мониторинга приложений, системных объектов, устройств (например, принтеров) и сервисно-ориентированных сетей. Эти ресурсы представлены объектами, называемыми MBeans (для Managed Bean). В API классы можно динамически загружать и создавать экземпляры. Приложения для управления и мониторинга могут быть спроектированы и разработаны с использованием Java Dynamic Management Kit (JDMK), который также доступен и чаще всего реализуется с использованием версии OpenDMK с открытым исходным кодом.

Классы JMX находятся в javax.management пакеты.

JMX является частью платформы Java, начиная с Java SE 5 (хотя некоторые компоненты являются необязательными и не входят в комплект JRE).

Ссылки


Глоссарий

  • MBean: логическая единица или служба, наиболее легко визуализируемая как Java Bean, которая предоставляет определенную службу, предоставляемую через протокол JMX. Один экземпляр MBean обычно идентифицируется ObjectName (см. Ниже). Эти услуги обычно включают, но не ограничиваются:
    1. Геттеры и сеттеры, которые позволяют читать и записывать атрибуты MBean. Например, MBean может представлять пул потоков, и атрибут с именем MaxPoolSize может быть прочитан, чтобы определить, какой максимальный допустимый размер пула, в то время как запись атрибута изменит максимально допустимый размер пула, которым управляет MBean.
    2. Операции, выполняющие определенные функции в MBean. Операции можно рассматривать как методы компонента, не соответствующие модели атрибутов (или свойств Java Bean). Они могут не иметь возвращаемого значения и иметь ноль, один или несколько параметров. Например, операция под названием stop может остановить пул потоков, которым управляет MBean.
    3. MBean-компоненты могут отправлять уведомления, когда выполняется определенное условие, или MBean обнаруживает определенное событие. На уведомления можно подписаться с помощью NotificationListener s, которые зарегистрировались для получения уведомлений об этих событиях. Например, MBean может отправлять уведомления, когда пул потоков, которым он управляет, запускается, а затем снова, когда он останавливается.
  • MBeanServer: MBeanServer играет несколько ролей в среде JMX:
    • Это центральный реестр для MBean-компонентов в данном домене JMX. В качестве реестра MBeanServer предоставляет функции для регистрации, отмены регистрации, перечисления и поиска компонентов MBean.
    • MBeanServer предоставляет интерфейс вызова для доступа к зарегистрированным MBean-компонентам. Когда поток хочет прочитать или записать атрибуты, выполнить операцию или [отменить] регистрацию получателя уведомлений в экземпляре MBean, он делает это через MBeanServer, предоставляя ObjectName целевого MBean и параметры вызова.
  • ObjectName: это составной ключ, который служит как для определения уникальной идентичности одного MBean-компонента, так и как шаблон, описывающий группу MBean-компонентов, у которых есть совпадающие подключаемые общие ключи их ObjectNames. ObjectName состоит из двух частей:
    1. Доменное имя:
    2. Ключевые свойства:

Визуальное представление структуры ObjectName