0

stateful session beanstateless session beanusing中注入 a 时DI,究竟会发生什么:容器是否为每个无状态 bean(存在于池中)注入了一个新的有状态 bean 实例,或者它是它们之间共享的同一个实例?

为什么表明JNDI在这种情况下使用优于DI?

我真的不明白。

4

2 回答 2

0

基本上,将有状态注入到无状态中是没有意义的,因为如果它们碰巧获得相同的无状态实例,那么有状态将由许多客户端共享,或者一个客户端也可以访问不同的有状态实例,如果它访问不同的无状态实例。

在这种情况下,是否使用 JNDI 没有任何区别。有状态的不能被许多客户端共享,并且每个 statelss 实例都是不同的客户端。如果您将使用 JNDI,那么根据您进行查找的位置,您可以在每次调用无状态时最终得到新的有状态实例。

您为什么要在无状态中注入有状态?

于 2014-11-07T17:25:19.513 回答
0

对于每个会话,@Statefull 将是新实例。@Statefull 不是直接实例,它是一个代理,即使在 @Stateless 内部也可以在每次需要时更改

于 2015-11-11T08:24:09.260 回答