2017-04-05 1 views
1

Ich versuche, eine Liste von Bundles zu erhalten, die entweder einen Service importieren, den mein Bundle exportiert (ich kann keinen Weg finden, andere Bündel zu erhalten) oder eine Liste von Bundles erhalten, die für die Dienste meines Bundles abonniert sind Veröffentlichung.OSGi: Wie finde ich heraus, welche Bundles einen Service verwenden, den ich exportiere?

Bis jetzt versuche ich, alle ServiceReferences aufzulisten, die die anderen Bündel verwenden, um zu sehen, ob sie meins verwenden, ohne Erfolg.

Vielen Dank.

Antwort

1

Mithilfe der ServiceReference für den registrierten Dienst können Sie die getUsingBundles-Methode aufrufen, um die Bundles zu ermitteln, die den Dienst derzeit verwenden.

1

Sie könnten auch versuchen, diese (in der OSGi-Konsole):

install http://downloads.skysail.io/skysail-webconsole/webconsole.all.jar 
start <id of the new bundle> 

offen http://localhost:2002 in Ihrem Browser und navigieren Sie zu "Services" klicken Sie auf den betreffenden Dienst überprüfen Sie die "Verwendung von Bundles" Reihe Die Seite mit den Servicedetails

Bitte beachten Sie, dass dieses Projekt (https://github.com/evandor/skysail-webconsole) derzeit nur ein Proof-of-Concept ist. Aber es könnte für einige Anwendungsfälle bereits nützlich sein.

(Ich freue mich über jede Art von Feedback btw;)

Verwandte Themen