2017-04-06 25 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

相關問題