Пользовательский контекст в Spring-WS - PullRequest
0 голосов
/ 03 февраля 2011

Я пытаюсь настроить контекст сервлета spring-ws таким же образом, как я делал для своего контекста spring. Для начального контекста (инициализированного при запуске сервера) я расширил ContextLoader и реализовал класс ServletContextListener, что аналогично тому, что делает класс org.springframework.web.context.ContextLoaderListener. Я могу настроить исходный контекст, переопределив метод customizeContext(ServletContext servletContext, ConfigurableWebApplicationContext applicationContext), и добавить / удалить необязательные контекстные XML-файлы на основе свойств. Мне удалось установить этот класс в качестве прослушивателя в моем файле web.xml вместо значения по умолчанию ContextLoaderListener из Spring, и он работает, как и ожидалось.

Я ищу аналогичный подход для контекста сервлета spring-ws (все компоненты, определенные в WEB-INF\spring-ws-servlet.xml), но я не смог найти никакого решения для этого. Единственное, что я могу придумать, - это чтобы мой пользовательский загрузчик контекста также генерировал xml-файл с включаемыми «дополнительными» bean-компонентами, и контекст spring-ws-servlet импортировал это. Тем не менее, это халтура решения, и я думаю, что должен быть лучший подход. У кого-нибудь есть предложения по настройке контекста сервлета spring-ws при вызове первого веб-сервиса?

Я использую Spring 2.5.6 и Spring-WS 1.5.9

Заранее спасибо.

1 Ответ

0 голосов
/ 04 февраля 2011

Мне удалось найти решение этой проблемы. Я создал класс, который расширил MessageDispatcherServlet и переопределил метод postProcessWebApplicationContext. В этом методе я условно добавляю в свои дополнительные контекстные местоположения в соответствии с моими свойствами. После вызова этого метода родитель вызывает метод refresh() для контекста, и дополнительные контексты будут загружены.

Другим решением, которое мне предложили, было создание собственного пространства имен и создание обработчика пространства имен для выполнения импорта, если выполняются условия.

...