-
Problème de base?
Bonjour,
Un cas à priori basique ne fonctionne pas chez moi, je voulais savoir si c'était normal ou si j'ai raté un truc.
Je créé un bean que j'exporte en service OSGi sous l'interface "monpackage.Toto"
Je créé un autre bean que je link à un service OSGi d'interface "monpackage.Toto"
Problème: lorsque ces deux opérations sont dans le même bundle, ça ne marche pas (la dépendance n'est jamais résolue et aucun service n'est publié).
J'ai trouvé ces solutions de contournement:
- mettre le lien OSGi en "optional"
- linker vers le bean plutôt que vers le service.
La seconde option ne me plaît pas du tout cas l'implémentation qui est publiée dans le même bundle est censée être une implémentation "de secours" (ranking très faible)
Quand à la première, j'aimerais être sûr de ne pas me retrouver avec un service null...
Est-ce normal?
-
Alors, pour ceux que ça intéresserait, voici la confirmation de mon problème:
doc Spring DM
Les solutions de contournement que j'ai trouvé:
- Mettre le lien "optional" et ajouter un "depends-on" pour s'assurer que le lien optionnel est toujours satisfait.
OU
- Ajouter un Activator dans mon bundle dans lequel je créé et publie mon service. (Cette solution n'est valable que parce que mon service n'a aucune dépendance et qu'il n'a donc pas à être géré par SpringDM...)