Введение

Java Management Extensions (JMX) – это технология Java, предоставляющая инструменты для управления и мониторинга приложений, системных объектов, устройств (например, принтеров) и сервисно-ориентированных сетей. Эти ресурсы представлены объектами, называемыми MBeans (от Managed Bean). В API классы могут динамически загружаться и создаваться экземпляры. Приложения для управления и мониторинга могут быть спроектированы и разработаны с использованием Java Dynamic Management Kit. JSR 003 процесса Java Community Process определил JMX версий 1.0, 1.1 и 1.2. Разработка JMX 2.0 велась в рамках JSR 255, но впоследствии этот JSR был отозван. JMX Remote API 1.0 для удаленного управления и мониторинга специфицируется JSR 160. Расширение JMX Remote API для веб-сервисов разрабатывалось в рамках JSR 262. JMX был принят сообществом J2EE на ранних этапах и стал частью J2SE, начиная с версии 5.0. "JMX" является торговой маркой корпорации Oracle.

Бобы, обработанные

Управляемый компонент (bean), иногда просто называемый MBean, является типом JavaBean, созданным с использованием внедрения зависимостей. Управляемые компоненты особенно часто используются в технологии Java Management Extensions, но в Java EE 6 спецификация предоставляет более четкое определение управляемого компонента. MBean представляет собой ресурс, работающий в виртуальной машине Java, такой как приложение или техническая служба Java EE (транзакционный монитор, драйвер JDBC и т.д.). Они могут использоваться для сбора статистики по вопросам, таким как производительность, использование ресурсов или проблемы (pull); для получения и установки конфигураций или свойств приложения (push/pull); и для уведомления о событиях, таких как ошибки или изменения состояния (push). Java EE 6 определяет управляемый компонент как компонент, реализованный классом Java, который называется его классом компонента. Класс Java верхнего уровня является управляемым компонентом, если он определен как таковой в любой другой спецификации технологии Java EE (например, в спецификации технологии JavaServer Faces), или если он соответствует всем следующим условиям:
Он не является нестатическим внутренним классом. Это конкретный класс или класс, аннотированный @Decorator. Он не аннотирован аннотацией, определяющей компонент EJB, или не объявлен как класс компонента EJB в файле ejb-jar.xml. Для определения управляемого компонента не требуется специального объявления, например, аннотации. MBean может уведомлять MBeanServer о своих внутренних изменениях (для атрибутов), реализуя интерфейс javax.management.NotificationEmitter. Приложение, заинтересованное в изменениях MBean, регистрирует слушателя (javax.management.NotificationListener) в MBeanServer. Следует отметить, что JMX не гарантирует доставку всех уведомлений слушателям.