Динамическая загрузка контекста Spring во время выполнения в веб-приложении

Я конвертирую стандартное Java-приложение, использующее Spring Framework, в веб-приложение. Это приложение загружает новый контекст Spring на основе параметров времени выполнения, что было сделано с помощью ClassPathXmlApplicationContext/FileSystemXmlApplicationContext.

Итак, мой вопрос заключается в том, как сделать то же самое в веб-приложении, учитывая, что я уже настроил свой web.xml и добавил Spring Listeners, как показано ниже:

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

Еще одна проблема: моя среда развертывания находится на Tomcat 5.5, где я не могу видеть какие-либо журналы во время весенней загрузки контекста, чтобы узнать, что не так.


person M.Amin    schedule 17.10.2009    source источник
comment
Вы имеете в виду во время выполнения или при запуске приложения?   -  person mR_fr0g    schedule 17.10.2009
comment
Во время выполнения после того, как мое приложение уже запущено.   -  person M.Amin    schedule 17.10.2009


Ответы (2)


Если вы действительно хотите загрузить настраиваемый контекст при запуске вашей веб-страницы, вы можете настроить свой web.xml с заполнителем свойства для имени контекста.

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:${my_context_file}</param-value>
</context-param>
person mR_fr0g    schedule 17.10.2009
comment
Мне нравится такой подход к параметрам. - person KLE; 17.10.2009

Чтобы включить ведение журнала, вам может потребоваться установить его в файле log4j.properties, например: log4j.logger.org.springframework=DEBUG.

Вы также должны убедиться, что вы входите в КОНСОЛЬ, а не в какой-либо другой поток. Если да, то сообщения журнала должны появиться в catalina.out.

person harschware    schedule 17.10.2009