Ich habe ein Fragment-Bundle, das ich erstellt habe, um auf einige Add-Funktionen zu einem Jar of Second-Party zuzugreifen. Mein Fragment sollte einen Dienst registrieren, um diese neue Funktionalität verfügbar zu machen. Es scheint nicht zu funktionieren. Bevor ich mich mit der Fehlersuche beschäftige, möchte ich wissen, ob dies überhaupt erlaubt ist. Das heißt, schaut Felix SCR's Bundle Watcher Fragmente an oder ignoriert sie?Kann ein OSGi-Fragmentpaket einen deklarativen Dienst veröffentlichen?
Antwort
Aha, ich fand die Antwort selbst in der Spezifikation, Abschnitt 112.4.2: "Ein Manifest-Header einer Service-Komponente, der in einem Fragment angegeben ist, wird von SCR ignoriert." Dies steht im Einklang mit 3.14.3: "Die folgende Liste enthält die Header, die nicht in einem Fragmentbündel verwendet werden dürfen: Bündel-Aktivator"
Ja. Dafür muss das Host-Bundle offen sein. Mit "offen" meine ich, dass das Host-Paket den Header Service-Components
so konfigurieren muss, dass alle Deskriptoren im Fragment gefunden werden. Zum Beispiel:
Service-Components: OSGI-INF/*.xml
alle .xml
Dateien im OSGi-INF/
Ordner des Host-Bündels all beigefügten Fragmente finden.
Ich sah Eclipse SmartHome Projekt diese Lösung verwenden, um ihre Benutzeroberfläche anpassbarer zu machen.
Weitere Informationen: http://apache-felix.18485.x6.nabble.com/DS-amp-fragments-td5004610.html
- 1. SOA-Prinzipale - Soll ein Dienst einen anderen Dienst anrufen?
- 2. Wie kann ein OSGi-Dienst beim Dienststart ordnungsgemäß deaktiviert werden?
- 3. Kann ich einen Dienst synchron anhalten?
- 4. Muss ein Dienst einen eindeutigen Zielnamespace haben?
- 5. Kann ein Dienst mehrere Endpunkte haben?
- 6. kann nicht einen Dienst mit ES6 Syntax
- 7. Kann ein Android-Dienst mehrere Berechtigungen haben?
- 8. Fehler 415 beim Veröffentlichen von JSON-Daten im WCF-Dienst
- 9. Kann ich einen IP-Filter für einen WCF-Dienst einrichten?
- 10. Einen Tweet mit Oauth veröffentlichen
- 11. WCF einen Dienst von einem Dienst aufrufen
- 12. Wie erfassen Sie Anforderungen mit deklarativen Akzeptanztests?
- 13. Kann TeamCity ein Webprojekt mit dem Build Runner sln2008 veröffentlichen?
- 14. Kann ein WCF-Dienst wie ein ASP.NET-Webdienst verwendet werden?
- 15. Einen .Net-Dienst aussetzen
- 16. Wie kann ich einen Videostream bei red5pro in Android veröffentlichen?
- 17. Wie kann ich einen Countdown per Google Mail-Status veröffentlichen?
- 18. Kann ein Server in jedem Fall einen Client für einen Dienst anfordern?
- 19. Injizieren Sie einen Dienst in einen anderen Dienst
- 20. Veröffentlichen WCF-Dienst (oder ASP.NET-Webanwendung) mithilfe der Befehlszeile
- 21. Wörterbuch der Tags in deklarativen SQLAlchemy?
- 22. Android: Einen Dienst übergeben einen Handler
- 23. sqlalchemy: Eins-zu-Eins-Beziehung mit deklarativen
- 24. Wie kann ich ein Objekt in ASP.NET MVC veröffentlichen?
- 25. TensorFlow: Wie kann ich ein Modell ohne Quellcode veröffentlichen?
- 26. Wie kann ich ein Modell veröffentlichen, das eine Sammlung enthält?
- 27. Python Service Discovery: Werbung einen Dienst über ein lokales Netzwerk
- 28. Problem beim Implementieren von deklarativen Transaktionen
- 29. Pubnub veröffentlichen nicht veröffentlichen
- 30. Starter Frage des deklarativen Stils SQLAlchemy relation()
Siehe auch http://stackoverflow.com/questions/8592860/component-inside-a-fragment-never-activated, das bestätigt, was Sie gerade gesagt haben, aber mit den zusätzlichen Informationen, die Blaupause funktioniert für Fragmente. –