1

当我注册一个 ServiceReference 时,我定义了我在 Dictionary 类中发布的 OSGi 事件的主题,就像上下文方法定义说的那样:

registerService(类,服务,字典

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

主题是一个字符串数组,其中包含一些字符串,这些字符串非常清楚地定义了我正在发布的每种可能的事件类型,如下所示:

字符串 [] 主题 = 新字符串 [] { "一", "二" };

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

谢谢。

4

1 回答 1

0

为了接收事件,bundle 将带有主题的 EventHandler 服务注册为 event.topics 属性。因此,要查找侦听某些主题的包,您可以搜索 EventHandler 类型的所有服务并检查它们的服务属性 event.topics。

于 2017-04-06T08:25:53.040 回答