Fermer

mai 18, 2022

Accéder dynamiquement à plusieurs implémentations d’un service OSGi à partir d’un servlet Sling

Accéder dynamiquement à plusieurs implémentations d’un service OSGi à partir d’un servlet Sling



Cas d’utilisation

Ici, nous allons montrer comment nous pouvons accéder dynamiquement à plusieurs implémentations d’un service OSGI (au moment de l’exécution) à partir d’un servlet sling.

Casser l’exigence

Pour faire face à l’exigence, nous allons la diviser en plusieurs exigences –

  1. Création de plusieurs implémentations d’un service OSGi.
  2. Donner un identifiant significatif unique au service qui sera utilisé pour cibler une implémentation spécifique.
  3. Création d’un ensemble d’objets qui contiendra un objet d’instance pour chaque implémentation de service.
  4. Entrée et logique pour basculer entre les implémentations.

Création de plusieurs implémentations

Nous pouvons créer plusieurs implémentations pour un service en implémentant notre interface de service, de la même manière que nous créons une seule implémentation d’un service.

Donner un identifiant significatif unique aux implémentations de service

Pour donner un identifiant à un service, nous pouvons utiliser @Propriétés annotation et définissez un nom de propriété en fonction des besoins de votre projet et la valeur sera différente pour chaque implémentation. Ici nous utilisons type de produit as property name and core est la valeur de l’implémentation par défaut.

Création d’une carte d’objets

Maintenant que nous avons créé plusieurs implémentations et donné un identifiant, notre prochain objectif est de trouver le moyen d’obtenir des objets d’instance créés dans le conteneur OSGi et de les collecter sous forme de carte (pour permettre de récupérer un objet d’instance particulier à l’aide d’un identifiant).

Cela peut être réalisé très facilement en utilisant les méthodes de liaison et de détachement qui sont exécutées lorsqu’un objet est créé ou détruit respectivement. Et nous pouvons associer une interface de service pour laquelle nous devons suivre la création ou la modification d’un objet.


TROUVÉ CELA UTILE ? PARTAGEZ-LE




Source link