Question

Je me demande s'il est possible de faire l'équivalent de

public void start(BundleContext context)
{  
    String filter = "filter for my specific service";
    context.addServiceListener(new MyServiceListener(), filter);
}

avec Spring DM. J'ai trouvé du matériel de référence pour Ajout des auditeurs pour la gestion du cycle de vie. Mais cela concerne le cycle de vie du service enregistré. Ce dont j'ai besoin, c'est d'être informé du cycle de vie de tout service enregistré / non enregistré d'une interface de service spécifique.

Le bundle qui a besoin de savoir ceci ne pas Création du service, mais l'utilisera. Puisqu'il y aura plusieurs instances de ce service qui changeront lors de l'exécution, je ne peux pas simplement créer une référence de service dans ma configuration de ressort.

Était-ce utile?

La solution

Spring DM comprend une prise en charge de la référence à une collection de services. Malheureusement, en tant que nouvel utilisateur, je ne peux pas publier de liens, mais cette fonctionnalité est décrite dans la section 7.2.2 de la documentation Spring DM 1.2. Spring DM met automatiquement à jour le contenu de cette collection lors de l'exécution au fur et à mesure que les services sont ajoutés et supprimés du registre des services.

Lorsque vous déclarez une référence sur un service, que ce soit comme une seule référence ou une collection de services, vous pouvez également déclarer un haricot auditeur qui sera informé que les services vont et viennent. Ceci est documenté dans la section 7.2.3.

Je recommanderais d'utiliser une liste ou un ensemble de services, et l'utilisation d'un haricot d'auditeur afin que vous soyez informé des modifications du contenu de la collection.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top