Сколько раз, глядя на работающее приложение, вы гадали:
"Какого черта оно там делает, и почему это длится так долго?" В такие
моменты, возможно, хочется иметь побольше
встроенных в приложение возможностей для мониторинга. Например, для серверного приложения хорошо было бы
просматривать количество и типы задач, стоящих в очереди на
обработку, задач в процессе обработки, статистику производительности
за последнюю минуту или час, среднее время обработки задачи, и
т.д. Такую статистику легко собрать, но без неагрессивных
средств извлечения нужных данных она не очень полезна.
Экспортировать рабочие данные можно многими способами. Можно периодически записывать
снимки статистики в журнальный файл, создать Swing GUI,
использовать встроенный HTTP-сервер для отображения статистики на Web-странице,
или опубликовать Web-службу, которую можно использовать для запроса
статуса приложения. Но в отсутствие инфраструктуры мониторинга и публикации данных
большинство разработчиков приложений не используют
столь затратные процедуры. В результате не удается достигнуть той степени контроля за работой
приложения, которую хотелось бы иметь.
Что же касается Java 5.0, то библиотека классов и JVM предоставляют всеобъемлющую
инфраструктуру управления и мониторинга -- JMX. JMX -- это стандартизованные средства предоставления
интерфейса управления с возможностью удаленного доступа. Это удобный способ добавить в приложение гибкий
и мощный интерфейс управления. JMX-компоненты,
называемые управляемыми компонентами (MBeans -- managed beans), представляют собой JavaBean-компоненты, которые предоставляют средства доступа
и бизнес-методы, относящиеся к управлению объектом. Каждый
управляемый объект (это может быть целое приложение или служба
приложения) создает MBean-компонент и регистрирует его
с использованием удобочитаемого для человека названия. Работа приложения с поддержкой JMX основывается на сервере
MBeanServer, который действует как контейнер для MBean-компонентов и предоставляет службы для удаленного
доступа, управления пространством имен и обеспечения безопасности. На стороне
клиента средство jconsole может работать в качестве универсального JMX-клиента. Вся эта платформа поддержки JMX, вместе
взятая, значительно сокращает усилия, необходимые
для поддержки приложением внешнего
интерфейса управления.
Кроме предоставления реализации MBeanServer,
Java SE 5.0 также обеспечивает предоставление виртуальной машиной Java (JVM) средств просмотра
состояния системы управления памятью, загрузки классов, активных потоков,
журналирования и конфигурации платформы. Мониторинг и управление
для большинства служб платформы по умолчанию включены (на
производительность это влияет минимально), так что лишь остается подключиться
к приложению с помощью JMX-клиента. На рисунке 1 показана консоль
jconsole JMX-клиента (входит в состав JDK), отображающая одно из представлений
системы управления памятью -- использование стека на протяжении определенного времени. Наличие кнопки Perform GC
демонстрирует возможность в дополнение к просмотру оперативной статистики инициировать с помощью JMX
различные операции.
JMX: загрузите спецификации и документацию по JMX;
MBeanInspector для WebSphere Application Server: средство администрирования на базе JMX для WebSphere 5.
Обсудить
Брайан Гоетц (Brian Goetz) уже 20 лет профессионально работает разработчиком программного обеспечения. В компании Sun Microsystems он занимает должность старшего штатного инженера и входит в состав нескольких экспертных групп JCP. В мае 2006 года издательство Addison-Wesley опубликовало книгу Брайана под названием Java Concurrency In Practice (Параллелизм Java на практике). См. также опубликованные и готовящиеся статьи Брайана в популярных отраслевых изданиях
Помощь по сообщениям о нарушениях Спасибо. Эта запись была помечена для модератора.
>
Помощь по сообщениям о нарушениях Сообщение о нарушении не было отправлено. Попробуйте, пожалуйста, позже.
>
developerWorks: вход
>
При первом входе в developerWorks для Вас будет создан профиль. Выберите информацию отображаемую в Вашем профиле — скрыть или отобразить поля можно в любой момент.
Вся введенная информация защищена.
Выберите ваше отображаемое имя
При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.
Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.
>
Вся введенная информация защищена.
SITE_ID=40
Zone=Технология Java
ArticleID=174480
ArticleTitle=Теория и практика Java: оснащение приложений средствами JMX
publish-date=09192006