Frage

Ich möchte ein Fenster mit einem Fortschrittsbalken schaffen, die den aktuellen Status des Spring Objektinstanziierung zeigt. Von Spring.Net Dokumentation rel="nofollow es scheint, dass IObjectPostProcessors der richtige Punkt ist, instanziiert zu starten und zu verfolgen, wenn ein Objekt hat worden. Um jedoch „Prozentsatz der instanziiert Klassen“ zu bekommen Ich brauche ObjectDefinitionCount Frühling Fabrik zu bitten, die Anzahl der konfigurierten Objekt zu erhalten. Dies gilt jedoch nicht arbeiten, bis die contextcreation beendet wurde (auch dieses Problem Problem scheint) bezogen werden.

Wenn es nicht möglich ist Frühling zu verwenden, um den Start-up-Status zu erhalten, wie Sie Informationen während der Anwendung angezeigt werden können für den Benutzer starten?

War es hilfreich?

Lösung

Ich kann Sie eine Abhilfe schaffen, auch wenn es nicht perfekt ist es wahrscheinlich eine gute Schätzung sein.

  • Sie verwenden einen persistenten Speicher-Mechanismus (Eigenschaftsdateien, db, was auch immer) den Überblick über die Anzahl der erzeugten Bohnen zu halten.
  • Sie verwenden IObjectPostProcessors die Anzahl der Initialisierungen zu aktualisieren
  • Auf dem ersten Lauf, natürlich wird der Wert 0
  • sein
  • Auf den nachfolgenden Läufen, verwenden Sie die letzte Zählung auf Schätzung die Anzahl der Initialisierungen, die getan werden sind.

Natürlich ist dies nicht korrekt ist, aber es sollte eine gute Schätzung der meisten der Zeit liefern.

Andere Tipps

Frühling liest in der Konfiguration in 2 Stufen - zunächst alle Objektdefinitionen aus der Konfigurations gelesen und zweiten werden diese Definitionen verarbeitet, Instanziieren Singletons ggf.

.

sollten Sie bekommen, was Sie wollen, indem sie ein IObjectFactoryPostProcessor implementieren. ObjectFactoryPostProcessors sind die ersten Objekte, die vor allem anderen instanziiert erhalten. Zu diesem Zeitpunkt ist die Anzahl der Objektdefinitionen bereits verfügbar. ein IObjectPostProcessor Verwenden gibt Ihnen die Informationen über jedes Objekt instanziiert wird.

Wenn Sie nach dem Aufstehen der Anzahl der Objektdefinitionen bereits zu dem Zeitpunkt sind die Konfiguration geladen ist, ich denke, es ist möglich, aber Frühling liest die Konfiguration in einem einzigen Durchgang. Sie müssen die Gesamtzahl der Objekte mit einer anderen Technik erhalten.

hth, Erich

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top