У меня есть служба OSGi, которая ссылается на другие службы через декларативную службу, внедряющую их. Я хотел бы получать уведомления при обновлении свойств упомянутой службы. Я не хочу, чтобы моя основная служба останавливалась каждый раз при изменении конфигурации в указанной службе, поэтому я установил для политики значение «динамический».
Как в OSGi DS получать уведомления при обновлении свойств упомянутой службы?
Ответы (1)
В DS 1.2 появилась новая функция.
Атрибут
updated
к элементуreference
добавляется для имени метода получения обновлений служб для привязанных ссылок.
Это будет частью предстоящей спецификации Compendium 4.3. Он уже реализован в реализации DS на Equinox (версия 1.4.0 комплекта DS). Вы должны использовать пространство имен http://www.osgi.org/xmlns/scr/v1.2.0
в описании вашего компонента, чтобы использовать атрибут updated
. Методы updated
используют те же сигнатуры методов, что и методы bind
и unbind
.
person
BJ Hargrave
schedule
24.02.2012
Замечательно. Будет интересно посмотреть, как редактор определения компонентов PDE стирает
updated
атрибуты. Я проверю это завтра. Спасибо.
- person oconnor0; 24.02.2012
К сожалению, похоже, что Equinox DS 1.4.0 отсутствует в Indigo.
- person oconnor0; 24.02.2012
@oconnor0 Релизы Eclipse выпускаются только раз в год... почему бы просто не использовать более высокую версию DS?
- person Neil Bartlett; 27.02.2012
@Neil Bartlett 1.) Потому что я понятия не имею, как обновить только DS. 2.) Еще меньше я представляю, как это сделать в Tycho. 3.) Это своего рода низкий приоритет; Я уже написал обходной путь. Но, если вы знаете, как и/или у вас есть ссылки на обновление DS, мне интересно.
- person oconnor0; 28.02.2012