2013-12-13 2 views
0

Я создаю приложение Spring (которое является однопользовательским приложением, работающим на сервере Geronimo, а не веб-службой или приложением MVC). При загрузке я пытаюсь получить доступ к внутреннему контексту приложения (который будет управлять набором прототипов), в основном пытается управлять всеми прототипами, используя иерархический контекст приложения для чистого отключения этих компонентов.Создание пользовательского контекста веб-приложений [SPRING]

Я смотрел на различные подходы, как показано ниже:

В основном создание вторичного сервлет (не выглядит как самый лучший вариант для меня), и доступ к ним

Или с помощью GenericWebApplicationContext (также пытались все другие WebApplicationContext связанные API), как показано ниже:

GenericWebApplicationContext context = new GenericWebApplicationContext(servletContext); 
context.setParent(rootApplicationContext); 
XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(context); 
xmlReader.loadBeanDefinitions(new ClassPathResource("ApplicationContext/beans.xml")); 
context.refresh(); 

Прокомментируйте подходы. Есть ли предлагаемый подход?

н Кроме того, я также получил следующее сообщение об ошибке:

2013-12-13 00:44:04,877 ERROR [ContextLoader] Context initialization failed 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ZKWatcherImpl' defined in URL [bundleresource://382.fwk1189431013/com/ebay/traffic/email/aggregate/watcher/ZKWatcherImpl.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.ebay.traffic.email.aggregate.watcher.ZKWatcherImpl]: Constructor threw exception; 
nested exception is org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/context] Offending resource: class path resource [CustomContext.xml] 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:997) 

Благодарности

+0

Люди хотели бы видеть ваш CustomConetxt.xml слишком –

ответ

0

На вашем фронте исключения вы не импортирующие пользовательское пространство имен правильно на самом деле. Либо dtd не существует, либо вы не имеете в виду правильное публичное местоположение в CustomContext.xml.

И на ваш главный вопрос, зачем вам нужен второй сервлет или сам WebApplicationContext. вам нужно управлять прототип бобами Есть много вопросов, на которые, как этот

Spring: How to cleanly terminate prototype-scoped beans?

Поиск SO сначала с надлежащим требованием вашего. Вы получите много.

+0

Привет manocha_ak, Спасибо за отзыв. Посмотрим. Я искал темы в пользовательском веб-контексте, не думал об этом случае использования, спасибо за указание, хотя. Действительно ценю это. Спасибо, Dheeban – dheeban

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