2017-04-06 59 views
1

当我注册一个服务引用我定义了OSGi的活动,我出版的词典类的话题,如上下文的方法定义说:OSGI:如何找出哪些绑定订阅了我的服务参考字典中定义的特定属性?

registerService(类,服务,字典

我词典的定义是:dictionary.put(EventConstants.EVENT_TOPIC,topics);

的主题是一个字符串数组与限定的很清楚每个可能的事件类型我publising,像这样的弦数:

字符串[]主题=新的String [] {“ONE”,“TWO “};

我想知道什么捆绑订阅了词典中主题定义的特定属性。我的意思是捆绑将要处理“TWO”的出版物。

谢谢。

回答

0

要接收事件,一个包会注册一个EventHandler服务,其主题为event.topics属性。因此,要查找某些主题上收听的包,可以搜索类型为EventHandler的所有服务并检查其服务属性event.topics。

+0

我得到了事件处理程序ServiceReference的服务引用sr = context.getServiceReference(EventHandler.class.getName()); 然后与sr.getUsingBundles() 捆绑对不对? – user2256799

相关问题