Supposons qu'il existe deux packages d'exportation A et B du groupe OSGi, respectivement. S'il y a un cas où A dépend de l'exportation de B et de l'exportation de B sur A, il faut commencer par le faire. Et supposons que l'on veuille obtenir le ServiceReference du registre partagé dans une classe différente (c'est-à-dire pas dans la classe Activator) puis comment initialiser l'objet BundleContext avec le contexte du bundle actuel.Interdépendance entre deux bundles OSGi
Cela pourrait résoudre le cas que j'ai mentionné ci-dessus, à propos de l'interdépendance. Comme A peut utiliser l'exportation de B dans sa méthode de démarrage d'activateur et B peut utiliser l'exportation de A dans une méthode de classe différente lorsqu'il est invoqué
Si A dépend de B et B dépend de A, pouvez-vous démarrer les deux paquets? Pour bundlecontext je pense que nous avons une interface BundleContextAware –
BundleContext bundleContext = FrameworkUtil.getBundle (JasperService.class) .getBundleContext(); ServiceReference > empServiceReference = bundleContext.getServiceReference (nom_classe.class.getName()); – Nilesh
Cela fonctionne très bien pour obtenir le bundlecontext du bundle actuel dans une classe autre que l'activateur. – Nilesh