Использование JMX и использование для существующих приложений

Мы распространили веб-приложение, разработанное несколько лет назад на JDK 5.

Как JMX поможет этому приложению?

1) Будет ли это помогать мне контролировать производительность (память, процессор и сеть и диск ввода-вывода)?

2) Если это так, то приложение развертывается на нескольких серверах, как я могу отслеживать в одной информационной панели?

3) Нужно ли мне вносить какие-либо новые изменения кода в существующее приложение или я могу контролировать без изменений кода?

4) Что еще мы можем сделать помимо мониторинга производительности? Потому что имя - это расширения управления (MX), что мы можем управлять и как? Кажется, главная цель - не контролировать, это управление?

Я не мог много узнать о JMX из учебника, представленного на веб-сайте Oracle http://docs.oracle.com/javase/tutorial/jmx/overview/why.html. Кажется, что какой-то представитель бизнеса подготовил этот учебник не техником.

Может кто-нибудь помочь мне в понимании этого материала JMX, ваши усилия искренне ценятся.

Спасибо, Ваш друг.

Ответ 1

JMX - это стандартизированный способ получения информации из запущенной системы и для вызова ее операций. JVM предоставляет вам набор MBeans, через который вы можете получить доступ к данным времени выполнения, таким как потребление памяти, статистика GC и некоторые другие данные. Вы также можете вызвать несколько операций. Ваш сервер приложений также предоставит вам несколько MBeans, которые вы можете использовать для управления сервером и установленными приложениями.

  • Да, это даст вам некоторые данные о производительности. См. http://docs.oracle.com/javase/1.5.0/docs/guide/management/overview.html для списка ресурсов.
  • Это зависит от вашего сервера приложений. Если он поддерживает кластерные среды, он, вероятно, даст вам панель инструментов.
  • Если вы в порядке со стандартными JVM-серверами и серверами приложений, вам не потребуется никаких изменений. Но вы можете написать свой собственный MBean для предоставления определенного статуса приложения и статистики или способов управления вашим приложением. См. http://docs.oracle.com/javase/tutorial/jmx/mbeans/standard.html
  • Ну, вы можете делать все, что вам нравится стандартным образом.

Посмотрите на jconsole (входит в JDK), чтобы узнать, что предлагает JMX!