Расширения управления Java - Java Management Extensions - Wikipedia

Расширения управления Java (JMX) это Ява технология, которая предоставляет инструменты для управления и мониторинга Приложения, системные объекты, устройства (например, принтеры ) и сервисно-ориентированные сети. Эти ресурсы представлены объектами, называемыми MBeans (для Управляемый компонент ). В API классы могут быть динамически загружены и созданы. Приложения для управления и мониторинга могут быть спроектированы и разработаны с использованием Комплект динамического управления Java.

JSR 003[1] из Процесс сообщества Java определены JMX 1.0, 1.1 и 1.2. JMX 2.0 разрабатывался под JSR 255, но впоследствии этот JSR был отозван.[2] JMX Remote API 1.0 для удаленного управления и мониторинга указан в JSR 160.[3] Расширение JMX Remote API для веб-служб разрабатывалось под JSR 262.[4]

Принято на раннем этапе J2EE сообщества, JMX был частью J2SE начиная с версии 5.0. "JMX" - торговая марка Корпорация Oracle.

Архитектура

JMX архитектура

JMX использует трехуровневую архитектуру:

  1. В Зонд уровень - также называемый Приборы уровень - содержит зонды (называемые MBeans ) инструменты ресурсы
  2. В Агент level, или MBeanServer - ядро ​​JMX. Он действует как посредник между MBean и приложениями.
  3. В удаленное управление level позволяет удаленным приложениям получать доступ к MBeanServer через соединители и адаптеры. Коннектор обеспечивает полный удаленный доступ к API MBeanServer с использованием различных средств связи (RMI, IIOP, JMS, WS- * …), А адаптер адаптирует API к другому протоколу (SNMP,…) Или в веб-интерфейс (HTML /HTTP, WML /HTTP, …).

Приложения могут быть общими консолями (например, JConsole[5] и MC4J[6]) или предметно-ориентированные (мониторинг) приложения. Внешние приложения могут взаимодействовать с MBean-компонентами посредством использования соединителей JMX и адаптеров протокола. Коннекторы служат для соединения агента с удаленным управляющим приложением с поддержкой JMX. Эта форма связи включает коннектор в JMX-агенте и клиент коннектора в управляющем приложении.

Адаптеры протокола обеспечивают представление управления агентом JMX через заданный протокол. Управляющие приложения, которые подключаются к адаптеру протокола, обычно относятся к данному протоколу.

Управляемые бобы

А управляемый компонент - иногда просто называют MBean - это вид JavaBean, созданный с внедрение зависимости. Управляемые компоненты особенно используются в технологии Java Management Extensions, но с Java EE 6 спецификация обеспечивает более подробное значение управляемого компонента.

MBean представляет ресурс, работающий в Виртуальная машина Java, например, приложение или техническая служба Java EE (монитор транзакций, драйвер JDBC и т. д.). Их можно использовать для сбора статистики по таким проблемам, как производительность, использование ресурсов или проблемы (вытягивание); для получения и настройки конфигурации или свойств приложения (push / pull); и уведомление о событиях, таких как сбои или изменения состояния (push).

Java EE 6 предусматривает, что управляемый компонент - это компонент, который реализуется классом Java, который называется его классом компонента. Класс Java верхнего уровня является управляемым компонентом, если он определен как управляемый компонент в любой другой спецификации технологии Java EE (например, JavaServer Faces спецификация технологии), или если она соответствует всем следующим условиям:

  1. Это не нестатический внутренний класс.
  2. Это конкретный класс или аннотированный @Decorator.
  3. Он не аннотирован аннотацией, определяющей компонент EJB, и не объявлен как класс EJB-компонента в ejb-jar.xml.

Никакого специального объявления, такого как аннотация, для определения управляемого bean-компонента не требуется.

MBean может уведомить MBeanServer о своих внутренних изменениях (для атрибутов), реализовав javax.management.NotificationEmitter. Приложение, заинтересованное в изменениях MBean, регистрирует слушателя (javax.management.NotificationListener) в MBeanServer. Обратите внимание, что JMX не гарантирует, что слушатели получат все уведомления.[7]

Типы

Есть два основных типа MBean:

  • Стандартные MBeans реализовать бизнес-интерфейс, содержащий сеттеры и геттеры для атрибутов и операций (т. е. методов).
  • Динамические MBeans реализовать javax.management.DynamicMBean интерфейс, который предоставляет способ перечислить атрибуты и операции, а также получить и установить значения атрибутов.

Дополнительные типы Открыть MBeans, Модель MBeans и Мониторинг MBeans. Открыть MBeans являются динамическими компонентами MBean, которые полагаются на основные типы данных. Они говорят сами за себя и более удобны для пользователя. Модель MBeans являются динамическими MBean-компонентами, которые можно настраивать во время выполнения. Также предоставляется общий класс MBean для динамической настройки ресурсов во время выполнения программы.

MXBean (Платформа MBean) - это особый тип MBean, который овеществляет Виртуальная машина Java подсистемы, такие как вывоз мусора, JIT-компиляция, пулы памяти, многопоточность, так далее.

MLet (Апплет управления) - служебный MBean-компонент для загрузки, создания и регистрации MBean-компонентов на MBeanServer из XML описание. Формат дескриптора XML:[8]

 <MLET CODE = ''class'' | OBJECT = ''serfile''   ARCHIVE = ''archiveList''   [CODEBASE = ''codebaseURL'']   [NAME = ''objectName'']   [VERSION = ''version''] >   [arglist] </MLET>

Поддерживать

JMX поддерживается на разных уровнях разными поставщиками:

Смотрите также

Рекомендации

  1. ^ JSR 003: Спецификация расширений управления JavaTM (JMXTM)
  2. ^ JSR 255: Спецификация расширений управления JavaTM (JMXTM), версия 2.0
  3. ^ JSR 160: Удаленный API расширений управления JavaTM (JMX)
  4. ^ JSR 262: соединитель веб-служб для агентов Java Management Extensions (JMX)
  5. ^ Использование JConsole для мониторинга приложений
  6. ^ «Проект MC4J создает программное обеспечение управления для серверов приложений J2EE и других приложений Java». Архивировано из оригинал на 2007-03-23. Получено 2006-08-27.
  7. ^ Расширения управления Java (JMX) - Лучшие практики
  8. ^ "MLet (Java 2 Platform SE 5.0)". Sun Microsystems. Получено 2008-06-22.
  9. ^ UnboundID Corp. В архиве 2012-03-06 в Wayback Machine
  10. ^ http://www.opennms.org/wiki/Category:JMX
  11. ^ «Сбор данных JMX». www.logicmonitor.com. Получено 2020-11-20.
  12. ^ Apache Tomcat 6.0: мониторинг и управление Tomcat (Руководство Tomcat)

дальнейшее чтение

Статьи

Книги

  • Бенджамин Дж. Саллинз, Марк Б. Уиппл: JMX в действии: вы также получите свое первое приложение JMX в рабочем состоянии, Manning Publications Co., 2002 г., ISBN  1-930110-56-1
  • Дж. Стивен Перри: Расширения управления Java, О'Рейли, ISBN  0-596-00245-9
  • Джефф Хэнсон: Подключение клиентов и серверов JMX: понимание расширений управления Java, АПресс Л. П., ISBN  1-59059-101-1
  • Марк Флери, Юха Линдфорс: JMX: управление J2EE с помощью расширений управления Java, Sams Publishing, ISBN  0-672-32288-9

внешняя ссылка