0
我想要完成的是在一个jar和两个war之间共享Spring上下文。他们都被包装在耳边。EAR中的Spring共享上下文
这里是beanRefContext.xml位于罐子:
<bean id="mainApplicationContext"
class="org.springframework.context.support.ClassPathXmlApplicationContext">
<constructor-arg>
<list>
<value>/META-INF/spring/main-applicationContext.xml</value>
</list>
</constructor-arg>
</bean>
主applicationContext.xml中含有豆我想之间两战的分享。
这里是一个战争中的web.xml:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listenerclass>
</listener>
<context-param>
<param-name>locatorFactorySelector</param-name>
<param-value>/META-INF/spring/beanRefContext.xml</param-value>
</context-param>
<context-param>
<param-name>parentContextKey</param-name>
<param-value>mainApplicationContext</param-value>
</context-param>
而在其他战争类似。
从Jboss的日志,我可以清楚地看到,从主applicationContext.xml中所有的bean被实例化:
[org.springframework.beans.factory.xml.XmlBeanDefinitionReader] Loaded 265 bean definitions from location pattern [/META-INF/spring/main-applicationContext.xml]
而且在一个战争的我有一个包含豆类局部的,尤其是战争本地Spring上下文。这些豆也被正确地实例化了:
[org.springframework.beans.factory.xml.XmlBeanDefinitionReader] Loaded 55 bean definitions from location pattern [/WEB-INF/applicationContext.xml]
这些bean被正确地注入位于jar中的bean中。但是没有注入位于前面提到的Web应用程序的本地bean中的Struts动作和bean(在/WEB-INF/applicationContext.xml中定义)。
我期望beanRefContext.xml是本地Web上下文的父上下文。
我在哪里错了?
非常感谢您的帮助。
这可能会帮助你http://stackoverflow.com/questions/16162877/spring-mvc-sharing-context-within-ear – constantlearner
constantlearner,我看过那篇文章。我已经有过瘦小的战争,所以我不认为这是同一个问题。 – Damian
调试时,我注意到web上下文已经正确设置了父上下文:Root WebApplicationContext:启动日期[Fri Dec Dec 20 11:22:45 CET 2013]; parent:ApplicationContext'mainApplicationContext' – Damian