Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Plateformes réactives et architectures modulaires Java Discussion :

Problème de base?


Sujet :

Plateformes réactives et architectures modulaires Java

  1. #1
    Membre éprouvé
    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?

  2. #2
    Membre éprouvé
    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...)