Время запуска Websphere 7 в кластерной среде
Существует ли простой способ выяснить, когда кластер websphere был запущен в последний раз (ни один узел, как в случае начала пульсации, мне нужно выяснить, когда приложение полностью закрылось)
Я предполагаю, что есть способы реализовать это с записью времени запуска каждого узла в базе данных и сравнить время, но, может быть, есть простой способ с mbean, например?
1 ответ
Существует как минимум несколько подходов к решению вашей проблемы, в зависимости от требований. Попробуйте записать их, если вам нужна более подробная информация о любом из приведенных ниже решений.
Отдельный процесс подключения к разъему JMX DMgr для прослушивания уведомлений JMX
Уведомления, отправленные серверными MBeans, перечислены здесь: http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.javadoc.doc%2Fweb%2FmbeanDocs%2FServer.html (см. раздел "Уведомления, унаследованные от MBean Stateful").
Pros
- нет необходимости изменять приложение
- нет опроса
Cons
- если DMgr не работает, вы не будете получать никаких уведомлений
- если этот дополнительный процесс завершится сбоем (или не был запущен вообще), вы получите большой разрыв в ваших данных
- требуется дополнительная учетная запись пользователя с ролью "монитор"
Опять же, отдельный процесс, соединяющийся с JMX-соединителем DMgr и запрашивающий у сервера атрибуты "stats" JVM.
Конфигурация PMI по умолчанию в WAS будет возвращать статистику "UpTime", которая сообщит вам, как долго работал определенный сервер.
MBean JVM описан здесь: http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.javadoc.doc%2Fweb%2FmbeanDocs%2FJVM.html
Статистика, возвращаемая в атрибуте "stat", реализует интерфейс JVMStats: http://docs.oracle.com/javaee/5/api/javax/management/j2ee/statistics/JVMStats.html
Pros
- нет необходимости изменять приложение
Cons
- если DMgr не работает, вы не будете получать никаких уведомлений
- голосование
- требуется дополнительная учетная запись пользователя с ролью "монитор"
Дополнительные компоненты в приложении.
Существуют способы регистрации компонентов приложения, чтобы WAS отправляла им события запуска / завершения работы.
Pros
- нет необходимости писать код против JMX API
- Доступность DMgr вывести из уравнения
Cons
- вы должны быть в состоянии пересобрать (или хотя бы перепаковать) приложение; если вы не являетесь членом команды разработчиков или если вы получаете приложение от стороннего разработчика, такой подход может не подойти