Главная » Spring » Прием извещений Spring

0

Стандартный способ организовать прием извещений от управляе- мых компонентов MBean – реализовать интерфейс javax.management. NotificationListener. Например, взгляните на следующую реализацию класса    PagingNotificationListener:

package com.habuma.spitter.jmx; import javax.management.Notification;

import  javax.management.NotificationListener;

public class PagingNotificationListener implements NotificationListener { public  void  handleNotification(Notification  notification,

Object  handback)  {

// …

}

}

Класс PagingNotificationListener – это типичный приемник из- вещений JMX. При получении извещения вызывается его метод handleNotification(). Вероятно, метод handleNotification() класса PagingNotificationListener будет посылать сообщение на пейджер или сотовый телефон, извещая об очередном миллионном сообщении. (Фактическую реализацию метода я оставляю на усмотрение чи- тателя.)

Единственное, что осталось сделать, – зарегистрировать компо- нент PagingNotificationListener  с помощью компонента MBeanExporter:

<bean  class="org.springframework.jmx.export.MBeanExporter">

<property   name="notificationListenerMappings">

<map>

<entry key="Spitter:name=PagingNotificationListener">

<bean class="com.habuma.spitter.jmx.PagingNotificationListener"   />

</entry>

</map>

</property>

</bean>

Свойство notificationListenerMappings компонента MBeanExporter ис- пользуется для внедрения приемников извещений, поступающих от управляемых компонентов. В данном случае компонент PagingNoti- ficationListener настраивается на прием любых извещений, отправ- ляемых управляемым компонентом SpittleNotifier.

В заключение

С помощью механизма JMX можно заглянуть внутрь действую- щего приложения. В этой главе было показано, как настроить фреймворк Spring, чтобы он автоматически экспортировал компо- ненты как управляемые компоненты MBean с поддержкой JMX, с целью получения доступа к ним с помощью инструментов управле- ния, поддерживающих механизм JMX. Здесь также было показано, как создавать и использовать удаленные управляемые компоненты MBean, когда эти компоненты и инструменты управления отделены друг от друга. Наконец, было показано, как с помощью фреймворка Spring организовать отправку и прием извещений JMX.

 

Источник:   Уоллс К., Spring в действии. – М.: ДМК Пресс, 2013. – 752 с.: ил.

По теме:

  • Комментарии