在无状态bean中注入有状态Bean

时间:2014-11-07 15:52:32

标签: dependency-injection ejb-3.0 jndi stateful-session-bean stateless-session

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

为什么表明在这种情况下使用JNDI比DI更好?

我真的没有。

2 个答案:

答案 0 :(得分:0)

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

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

你为什么要在无国籍状态下注入有状态?

答案 1 :(得分:0)

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