Я хотел бы создать окно с индикатором выполнения, которое показывает текущий статус создания экземпляра объекта Spring. Из Spring.Net документация кажется, что IObjectPostProcessors - это правильная точка для запуска и отслеживания всякий раз, когда объект был создан. Однако, чтобы получить «Процент экземпляров классов», мне нужно попросить ObjectDefinitionCount фабрики Spring получить количество настроенных объектов. Однако это не работает до тех пор, пока создание контекста не будет завершено (похоже, также связана проблема Эта проблема).
Если невозможно использовать Spring для получения статуса запуска, как вы отображаете информацию во время запуска приложения для пользователя?





Я могу предложить вам обходной путь, хотя он и не идеален, вероятно, это хорошая оценка.
Конечно, это неточно, но в большинстве случаев это дает хорошую оценку.
Spring считывает конфигурацию в 2 этапа - сначала из конфигурации считываются все определения объектов, а во-вторых, эти определения обрабатываются, при необходимости создавая экземпляры синглтонов.
Вы должны получить то, что хотите, реализовав IObjectFactoryPostProcessor. ObjectFactoryPostProcessors - это первые объекты, экземпляры которых создаются раньше всего. На данный момент количество определений объектов уже доступно. Использование IObjectPostProcessor дает вам информацию о каждом создаваемом объекте.
Если вы получили количество определений объектов уже во время загрузки конфигурации, я думаю, это возможно, но Spring считывает конфигурацию за один проход. Вам нужно будет получить общее количество объектов, используя другую технику.
hth, Эрих
В настоящее время я использую ваш подход, но я посмотрю на то, что предложил Эрик Эйхингер. Спасибо!