Динамично зареждане на Spring контекст по време на изпълнение в уеб приложение

Преобразувам стандартно Java приложение, което използва Spring Framework, в уеб приложение. Това приложение зарежда нов пролетен контекст въз основа на параметри по време на изпълнение, което беше направено с помощта на 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