Межзонное Взаимодействие. Равноденствие Для Разработчика

И снова здравствуйте! И снова много кода в качестве учебного пособия.

;) В среде OSGi концепция пакета является базовой.

Как следует из своего назначения, пакет, как компонент системы, с момента запуска способен жить своей жизнью и реализовывать любые сервисные функции.

В этом посте я хочу рассказать вам, как бандлы могут взаимодействовать друг с другом.

Есть, например, простая задача, которая формулируется так: «фоновый сервис в рабочем пакете каждые 20 секунд делает что-то, называемое «предварительная функция», после того как он это сделал, обработчик должен узнать об этом и сообщить об этом пакету-исполнителю.

, чтобы запустить «рабочую функцию».

Но начнем не с него, а с более простого: есть некий бандл Registerer, который должен вести внутренний реестр бандлов, которые можно зарегистрировать в нем в момент запуска и удалить из реестра в момент остановки.

Для решения этой проблемы мы используем сервис EventAdmin, который представляет собой очередь обмена событиями между бандлами.

Для начала напишем активатор бандла Registerer, который будет получать сообщения от других бандлов.

Осуществление приема сообщений

   

public class Activator implements BundleActivator {

Теги: #osgi #EQUINOX #eventadmin #java
Вместе с данным постом часто просматривают: