воскресенье, 16 декабря 2012 г.

JMX

Java Management eXtentions--технология, которая позволяет создавать внешне управляемые  и расширяемые системы. Система всегда состоит из MBeanServer, из множества MBeans(нескольких типов Dinamic, Standart etc), и JConsole. MBean -- Managed Bean.

В этой системе условно выделяют три слоя.
Probe level -- тут находятся наши управляемые бины
Agent level -- тут находится MBeanServer
Remote Management level -- тут находятся Connectors ( к такому конектору и подключается JConsole, можно также написать что-то свое, чтобы подключаться управлять бинами), и Adpters (это товарищи, которые позволяют подключаться по любым протоколам и использовать нестандратное апи для управления бинами)

JMX является стандартом для виртуальной машины из версии 1.5, поэтому MBeanServer, конекторы/адаптеры, и JConsole входят в HotSpot по-умолчанию,

Чтобы управлять нашим приложением, мы должны для желаемых бинов определить интерфейсы вида {BeanName}MBean, в интерфейсе указать методы, которыми мы хотим чтобы управлялся наш бин. Потом в приложении получить инстанцию MBeanServer  и зарегистировать наш бин в нем.
MyBean bean = new MyBean();//implements interface MyBeanMBean
javax.management.MBeanServer mbs = java.lang.management.ManagementFactory.getPlatformMBeanServer();
javax.management.ObjectName name = new ObjectName("com.mypackage:type=MyBean");
mbs.registerMBean(neab, name);
Мы JConsole сможем в графическом режиме пользоваться указанными в интерфейсе методами.

Комментариев нет:

Отправить комментарий