我使用java,spring-ws并且有一个web服务。春天或servlet请求范围问题
每次我运行一个新的请求到我的web服务我希望一切都重置,所有的变量都是新鲜的和空的。所以我在我的web服务的application-context.xml中添加了“范围=请求”,但我仍然保留了以前请求中保存的变量值(即使不是静态变量)。
我的web服务(作为jar文件)被用作另一个主要web项目的插件。我从这个主Web项目的web.xml文件中引用了我的web服务;
<servlet>
<servlet-name>mws</servlet-name>
<servlet-class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/resources/webservice/applicationContext-WebService.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
在这个web.xml中,我定义为主营项目的另一个调度的servlet 而且,是可能的,它创造2个spring容器和他们发生冲突?
这是我在Web服务的appcontext.xml文件定义范围:
<bean id="infService" class="com.ws.im.InfService" scope="request">
<property name="webServiceConfiguration" ref="wsConfiguration" />
<property name="properties">
<bean class="com.ws.PropertyResource">
<property name="resource" value="/WEB-INF/clientspecific/Inf.properties" />
</bean>
</property>
</bean>
所以我想每次我跑我的主要web项目在它开始我的web服务的应用程序context.xml文件加载一次并且无论我改变它的范围它不起作用导致主项目定义范围?我可以定义上面的servlet的范围吗?或者这个想法是完全错误的,我在我的web服务配置xml中做错了什么?
感谢
能否请你展示,你加入'的applicationContext-WebService.xml''范围= request'? – artbristol 2011-06-01 12:25:09
我添加了代码 – Spring 2011-06-01 13:14:39