1

考虑一个弹簧管理的 Web 服务,它定义了一个操作 opA(类 opA)。将为该操作的每个请求创建一个单独的 opA 对象实例。

Class opA{

@Autowired
B objB;

}

Class B{

C objC;
.
.
}

Class C{
.
.
.
}

<bean id="objB" class="blah.blah.B">
 <property name="objC">
   <bean class="blah.blah.C"/>
  </property>
</bean> 

注意:opA 也由 spring 管理

这里的对象 objB 是带有内部 bean objC 的 Spring 单例范围。现在,如果两个 opA 请求同时到达,它们都将具有相同的 objB 实例,对吗?对 objB 中的 objC 的状态造成可能的竞争条件。我对么?如果不是,你能解释一下为什么吗?

4

1 回答 1

1

您有一个在您的应用程序中使用的状态的单个实例,所以我会说您可能有竞争条件,但这取决于您的state(objB 是服务,objC 是存储库吗?)以及您的实现。

于 2012-12-19T00:28:01.023 回答