欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

spring,struts2(webwork)集成并发的问题 WebworkSpringBeanprototype多线程 

程序员文章站 2024-02-26 09:22:52
...
在spring和sturts2,或webwork集成的时候,大多数将action交给spring的bean管理,这样管理会造成线程安全问题,struts2虽然是多实例多线程的,但是还是会产生。有一种方法,.scope=“prototype”是为每个请求提供一个action实例。
scope=“session”是为每个会话提供一个action实例。
目前并不推荐使用Spring来管理Action,因为对于prototype类型的bean来说,Spring创建bean和调用bean的效率是很低的。

通过查找,解决方法如下:
webwork:在webwork.properties中加入如下配置内容
webwork.objectFactory=spring ,Action需要什么Service,定义一个set方法,就自动拿到了。
struts2:利用struts2的拦截器,  <interceptor name="autowiring" class="com.opensymphony.xwork2.spring.interceptor.ActionAutowiringInterceptor"/>
可以达到一样的效果。