Я использую референсный прослушиватель с параметрами Service, Dictionary в моем методе прослушивания.OSGI - Найти ссылку Bundle по сервисному идентификатору
Словарь имеет service.id, тогда мне нужно иметь комплект этой Службы.
Мой вопрос: иметь Сервис и идентификатор службы, как получить объект Bundle.
Пример:
<reference-listener
bind-method="bindFormProcessor"
unbind-method="unbindFormProcessor"
ref="mainSvc"
>
</reference-listener>
Мой Java Метод
public void bindFormProcessor(IFormProcessor formProcessor,Dictionary dictionary) {
try {
Bundle bundle = OsgiUtil.getBundleByObject(dictionary.get("service.id"));
logger.info("************************ GOOOAAL " + bundle.getSymbolicName());
//Now, I have the bundle of my Service
} catch (Exception e) {
e.printStackTrace();
}
}
С уважением,
Благодаря Балаж, я не знал, что параметр фильтра, я хотел используйте параметр ServiceReference Param .. Но у меня есть проблема Cast Exception, когда я получаю сервис с этим ServiceReference. Большое спасибо – jrey