spring整合struts将action作为接口的时候,发现如果用多线程去访问接口的时候有时候会出现两个接口返回的数据不对,例如我访问了getUser和getRole接口。他们应该分别返回
getUser:
{un:admin,id:1}
getRole:
{id:2,name:xx}
但是有时候可能会是这种情况:
getUser:
getRole:
{un:admin,id:1}{id:2,name:xx}
两个东西重复了。
这个应该是spring bean实例化的action是一个单例,例如
<bean id="baseInfoAction" class="com.BaseInfoAction" >
<property name="Service" ref="Service" />
</bean>
这样配置一个struts里面的action在spring的默认周期里面是单例的。这个我也没验证过是否是单例的。但是在访问足够频繁的情况下会有可能出现上述情况。
这个时候我能就需要在bean里面设定好非单例的生命周期,例如:
<bean id="baseInfoAction" class="com.BaseInfoAction" scope="prototype">
<property name="Service" ref="Service" />
</bean>
据网上的资料表述这个生命周期的设置是每一次访问都初始化一个action对象。
这个有待验证。但是确实好像不会出先上述的合并现象了。
分享到:
相关推荐
mybatis与spring整合时所依赖的jar包,包括: 1.Mybatis所需的jar包括: ant-1.9.6.jar ant-launcher-1.9.6.jar asm-5.2.jar cglib-3.2.5.jar commons-logging-1.2.jar javassist-3.22.0-CR2.jar log4j-...
hibernate+flex+spring 整合,hibernate+flex+spring 集成
spring整合redis 简单实例搭建------------供新手学习。
Spring 集成 IBM MQ 监听配置,包括用户管理配置和一些基础配置信息
mybatis-spring 整合jar包,Spring和MyBatis环境整合mybatis-spring-1.1.1
Spring整合集成Struts1.2最简单例子
spring和redis集成有很多方式,看到网上很多都是使用redistemplate自己去做redis 的一些操作,但是对于我们开发来说,肯定是使用越方便越好,于是乎就有了spring的对redis或者memcahe这些换成框架的封装,只需要引入...
iBatis和Spring整合 iBatis和Spring整合
mybatis与spring整合全部jar包(包括springmvc)
cxf与spring整合webservice所需jar
该压缩包包含了mybatis与spring整合的全部jar包,为学习整合ssm框架提供一个环境
Spring 整合 Flex 包Spring 整合 Flex 包Spring 整合 Flex 包
spring boot+spring mvc+spring整合开发**音乐**小程序(含简单服务端) 项目描述 spring boot+spring mvc+spring代理请求**音乐接口获取数据,然后提供给**小程序做显示 运行环境 jdk8+IntelliJ IDEA+maven ...
RabbitMq与Spring整合实例,整个工程采用maven,具体过程看博文: http://blog.csdn.net/evankaka/article/details/50495437
Spring整合hibernate(2)之基于HibernateTemplate的整合,jar需要自己添加!
最完整的的cxf与spring整合需要的jar文件
spring整合mybatis时需要用到的配置文件
本示例程序主要是spring 整合elasticsearch-2.3.5的实践,测试时先将配置文件es.properties中ES服务端es.ip,es.port, es.cluster 配置替换成自己的服务器信息
mybatis和spring整合jar包
dubbox spring集成. dubbox spring集成.dubbox spring集成.