Verbesserung
Wichtig
Detail
Fehlerbehebung
Detail
Ein Service (ManagedClass) kann zu einem anderen Service entweder eine deklarierte Abhängigkeit (tl:ServiceDependencies) oder eine konfigurierte Ahängigkeit haben (tl:ServiceConfiguration). In beiden Fällen starten immer alle Abhängigkeiten eines Services vor dem Service, der die Abhängigkeit deklariert.
Verbesserung
Eine schwächere Form der Abhängigkeit ist die optionale Abhängigkeit. Hier kann ein Service einen anderen nutzen, sofern dieser verfügbar ist bzw. solange dieser verfügbar ist. Die optionale Abhängigkeit impliziert keine Start-/Stop-Abhängigkeit zwischen den Services.
Anwendung
Der Service A, der einen Service B nutzen will deklariert das Interface ServiceDependency<B> und registriert die Abhängigkeit in seiner StartUp-Methode am Modul des Service B (B.Module.INSTANCE.addServiceDependency(this)).
Test
Siehe #26529: Die Applikationsresourcen erhalten als optionale Abhängigkeit den Cluster-Manager.