2015-05-25 32 views
6

Utilizzo i servizi dichiarativi di Apache Felix nella mia applicazione e sto cercando un cheat sheet che descriva i parametri che si possono dare all'annotazione @Reference. Ho visto una pagina web una volta che conteneva un cheat sheet (o tabella) molto informativo su di esso ma non riesco a trovarlo. Penso che questo sarebbe utile per molti utenti di Felix là fuori. I parametri di cui sto parlando:Apache Felix SCR @ Foglio di calcolo frode

  • cardinalità: MANDATORY_UNARY, MANDATORY_MULTIPLE, OPTIONAL_UNARY, OPTIONAL_MULTIPLE
  • strategia: EVENT, LOOKUP
  • politica: DYNAMIC, STATIC
  • policyOption: GREEDY, RELUCTANT

cardinalità è piuttosto semplice ma gli altri non sono chiari per me. Cosa fanno e come funzionano?

risposta

5

da funzionario OSGI R5 Compendium Spec pagina 281ff.

Riferimento cardinalità

La cardinalità per un riferimento può essere specificato come una delle quattro scelte:

  • 0..1 - opzionale e unario.
  • 1..1 - Obbligatorio e unario (predefinito).
  • 0..n - Opzionale e multiplo.
  • 1..n - Obbligatorio e multiplo.

strategia

  • strategia Event - SCR chiama un metodo sull'istanza del componente quando un servizio è vincolato, quando un servizio diventa non legato, o quando le sue proprietà vengono aggiornate. Questi metodi sono i metodi bind, aggiornati e non vincolati specificati dal riferimento. La strategia evento è utile se il componente deve essere informato delle modifiche ai servizi associati per un riferimento dinamico.
  • Strategia di ricerca - Un'istanza componente può utilizzare uno dei metodi locateService di ComponentContext per individuare un servizio associato. Questi metodi prendono il nome del riferimento come parametro. Se il riferimento ha una politica dinamica, è importante non memorizzare il servizio restituito oggetto (s) ma cercare ogni volta che è necessario.

politica

  • Il criterio statico è la politica più semplice ed è il criterio predefinito.Un'istanza di componente non vede mai nessuna delle dinamiche. Le configurazioni dei componenti vengono disattivate prima che qualsiasi servizio associato per un riferimento con una politica statica non sia disponibile. Se è disponibile un servizio di destinazione per sostituire il servizio associato che non è più disponibile, la configurazione del componente deve essere riattivata e collegata al servizio di sostituzione.

  • La politica dinamica è leggermente più complesso in quanto l'attuazione componente deve gestire correttamente i cambiamenti nel set di servizi legati che possono verificarsi su qualsiasi thread. Con la politica dinamica, SCR può modificare l'insieme di servizi associati senza disattivare la configurazione di un componente. Se il componente utilizza la strategia eventi per accedere ai servizi, l'istanza del componente verrà notificata delle modifiche nel set di servizi associati mediante chiamate ai metodi bind e unbind.

Opzione

  • riluttante - Ridurre al minimo rilegatura e riattivante.
  • greedy - Massimizza l'utilizzo del servizio migliore disattivando i riferimenti statici o riconciliando i riferimenti dinamici.

altre risorse specifiche felix

[Felic SCR NOTE] (http://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin/scr-annotations.html)

+0

si prega di astenersi dal pubblicare collegamento solo risposte. –

+0

Grazie, potenziato. –