Ho un pacchetto di frammenti che ho creato per accedere ad alcune funzionalità di aggiunta a un contenitore di seconda parte. Il mio frammento dovrebbe registrare un servizio per esporre questa nuova funzionalità. Non sembra funzionare. Prima di approfondire la risoluzione dei problemi, mi piacerebbe sapere se questo è permesso anche? Cioè, l'osservatore di fascicoli di Felix SCR guarda o ignora i frammenti?Un pacchetto di frammenti OSGi può pubblicare un servizio dichiarativo?
risposta
Aha, ho trovato la risposta nella specifica, sezione 112.4.2: "Un'intestazione di manifest Service-Component specificata in un frammento viene ignorata da SCR". Questo è coerente con 3.14.3: "Il seguente elenco contiene le intestazioni che non devono essere utilizzate in un pacchetto di frammenti: Attivatore di gruppo"
Sì. Ma il pacchetto host deve essere aperto a questo. Con open, intendo che il bundle host deve avere l'intestazione Service-Components
configurata in modo tale da trovare eventuali descrittori nel frammento. Per esempio:
Service-Components: OSGI-INF/*.xml
troverete tutti .xml
file nella cartella OSGi-INF/
del fascio di accoglienza tutti i frammenti collegati.
Ho visto che il progetto SmartHome di Eclipse utilizza questa soluzione per rendere la propria UI più personalizzabile.
Maggiori informazioni: http://apache-felix.18485.x6.nabble.com/DS-amp-fragments-td5004610.html
- 1. Un ListView può contenere frammenti
- 2. Vuol npm pubblicare eseguire un pacchetto NPM
- 3. Struttura pacchetto bundle OSGi
- 4. Qual è il modo corretto di disabilitare un servizio OSGi all'avvio del servizio?
- 5. Esempio di funzionamento per un servizio OSGI remoto
- 6. Incorporamento di JAR in un pacchetto OSGi in Eclipse
- 7. Ricerca di file e cartelle in un pacchetto OSGI
- 8. Carica DLL (usando JNA) all'interno di un pacchetto OSGi
- 9. Come pubblicare un pacchetto npm con i file di distribuzione?
- 10. Che cos'è un "formato dichiarativo"?
- 11. Trova il bundle OSGI che esporta un pacchetto?
- 12. Quando un frammento OSGi è collegato all'host?
- 13. Come pubblicare un servizio Web da VS 2010?
- 14. accesso contesto Spring nel pacchetto OSGi
- 15. Un nome di pacchetto Python può iniziare con un numero?
- 16. Assegnazione di priorità alla selezione del servizio OSGi in un contenitore quando esistono più implementazioni
- 17. Google Play aggiornamento app - non può pubblicare un nuovo apk
- 18. TeamCity può pubblicare un progetto Web utilizzando il builder sln2008?
- 19. Stato del servizio Amministrazione distribuzione OSGi
- 20. Come pubblicare NuGet prerelease pacchetto versione
- 21. Un servizio Android può avere più permessi?
- 22. Un ombreggiatore di frammenti OpenGL ES può modificare il valore di profondità di un frammento?
- 23. Oltre a un linguaggio dichiarativo, SQL è un linguaggio funzionale?
- 24. OSGI - gestione di JAR di terze parti richiesti da un pacchetto
- 25. Come inserire un lambda in un'espressione Linq di query dichiarativo
- 26. come avviare il servizio dai frammenti
- 27. è necessario un modo più dichiarativo di esprimere espressioni regolari? :)
- 28. Come importare lo stesso pacchetto da diversi bundle di osgi?
- 29. blueprint osgi come leggere il file di risorse nel pacchetto
- 30. Come si crea/inizializza Javassist ClassPool all'interno di un pacchetto OSGi?
Vedi anche http://stackoverflow.com/questions/8592860/component-inside-a-fragment-never-activated, che conferma quello che hai detto, ma con le informazioni aggiunte che il progetto funziona per i frammenti. –