J'ai un problème pour découvrir les services fournis par certains bundles OSGi qui ne sont pas activés. Permettez-moi de décrire la situation :
- L'ensemble A définit l'interface X
- Les offres groupées B, C et D fournissent des services qui mettent en œuvre l'interface X
- Les services de ces bundles sont enregistrés via Spring DM, ils ne sont donc créés que lorsque le bundle est activé et que Spring DM initialise le contexte d'application défini dans le bundle.
- L'offre groupée A est activée et, à un moment donné, elle demande au registre de services s'il existe des services pour l'interface X. Elle n'en trouve pas, car les offres groupées B, C et D ne sont pas passées à l'état ACTIF (elles sont seulement RESOLUES).
Je ne parviens pas à faire démarrer les lots B, C ou D, et donc à enregistrer leurs services. Je les force à démarrer en les ajoutant à la liste des services de config.ini
n'est pas une option, car il peut y avoir n'importe quel nombre de bundles installés dans l'application (via un mécanisme de mise à jour de type Eclipse p2) qui implémentent l'interface X.
L'application est une application RCP basée sur Eclipse 3.5, utilisant Spring 2.5.6 et Spring DM 1.2.1.
Comment forcer l'activation de ces offres groupées ?