2009-05-29 9 views
4

Ich frage mich, ob es möglich, das Äquivalent vonHinzufügen eines ServiceListener mit Frühlings-DM

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

mit Frühlings-DM zu tun. Ich habe Referenzmaterial für adding listeners for lifecycle management gefunden. Dies bezieht sich jedoch auf den Lebenszyklus des Dienstes, der registriert wird. Ich muss auf den Lebenszyklus eines Dienstes hingewiesen werden, der für eine bestimmte Serviceschnittstelle registriert/nicht registriert ist.

Das Paket, das dies wissen muss, ist nicht tatsächlich die Erstellung des Dienstes, aber wird es verwenden. Da mehrere Instanzen dieses Diensts zur Laufzeit geändert werden, kann ich in meiner Spring-Konfiguration nicht einfach einen Dienstverweis erstellen.

Antwort

2

Spring DM enthält Unterstützung für die Referenzierung einer Sammlung von Diensten. Leider kann ich als neuer Benutzer keine Links posten, aber diese Funktionalität wird in Abschnitt 7.2.2 der Spring DM 1.2-Dokumentation beschrieben. Spring DM aktualisiert den Inhalt dieser Auflistung automatisch zur Laufzeit, wenn Dienste zur Service-Registrierung hinzugefügt und daraus entfernt werden.

Wenn Sie eine Referenz für einen Service deklarieren, sei es als einzelne Referenz oder als eine Sammlung von Services, können Sie auch eine Listener-Bean deklarieren, die benachrichtigt wird, wenn Services kommen und gehen. Dies ist in Abschnitt 7.2.3 dokumentiert.

Ich würde empfehlen, eine Liste oder einen Satz von Diensten zu verwenden und eine Listener-Bean zu verwenden, damit Sie über Änderungen am Inhalt der Sammlung benachrichtigt werden.

+0

Ja, ich fand diese Dokumentation am Freitag Abend selbst. – Robin

Verwandte Themen