2012-07-05 4 views
2

Это один из тех странных вопросов, о которых люди спрашивали - почему?Нагрузка весеннего контекста в фазах

Итак, я начну с того, почему я хотел бы это сделать, а затем перешел к вопросу. Я хотел бы иметь больше контроля над тем, как загружается весенний контекст. Например, я не хочу загружать домен и web-api одновременно. Это сделает ресурсы доступными до того, как их зависимости будут готовы. Возможно также, что мне нужно проверить состояние чего-то, прежде чем продолжить этот процесс. Так сказать, будет последовательный порядок между модулями/контекстами. Возможно, это не просто загрузка, но и остановка.

Таким образом, проблема заключается в том, что я не могу найти информацию о том, как загрузить домен-контекст, а затем, когда это будет завершено, я проверил бы состояние и, наконец, загрузил api-context. Я хотел бы сделать все это из java-кода, поскольку мне нужно управлять потоком запуска. У меня есть основы работы с SpringServlet, загружающие веб-контекст. Я не нашел никакой информации о том, есть ли возможность загрузить контекст, подождать и загрузить другой контекст, который относится к первому.

Возможно, было хорошо знать, что я не использую JavaEE или контейнер. Я использую только встроенный Jetty с сервлетом и пружиной. Так можно ли это сделать?

ответ

0

я предлагаю рассмотреть следующее:

  • Read SmartLifeCycle и Phased для точек расширения порядка управления жизненным циклом контекста приложения. Идея состоит в том, что у вас есть важные компоненты верхнего уровня, реализующие интерфейсы, так что стандартная инициализация контекста приложения будет также обрабатываться этими компонентами в том порядке, в котором вы настраиваете.
  • Разбивайте XML-файлы приложения на небольшие фрагменты. Используйте <import /> в тех, которые зависят от более высокого/более низкого контекста.
  • Используйте атрибут depends-on в критических компонентах вашей миссии для обеспечения зависимостей.
  • Используйте InitializingBean на тех, которые вам нужны, чтобы убедиться, что зависимость для текущего компонента выполняется после его инициализации.
0

Рассмотрите ленивые загруженные бобы и ленивый прокси. Таким образом, bean будет создан только при первом использовании ...

Смежные вопросы