小编use*_*072的帖子

JAVA EE 6在有状态EJB之间共享实例

我想我在这里有一个基本的理解问题,我希望有人可以向我解释.

假设我们有一个有状态的EJB_A和一个有状态的EJB_B和一个有会话的ManagedbeanA:

@Stateful
@LocalBean
public class EJB_A {
}

@Stateful
@LocalBean
public class EJB_B {
  @EJB
  EJB_A ejb;
}
@ManagedBean
@SessionScoped
public class ManagedBeanA {
   @EJB
   EJB_A ejb;
}
Run Code Online (Sandbox Code Playgroud)

在ManagedBeanA中,创建了EJB_A.现在,当我使用EJB_B(EJB_A作为属性)时,EJB_B中会创建一个新的EJB_A实例.它与之前在ManagedBeanA中创建的EJB_A的实例不同.

我不明白,因为我认为有状态EJB的重点是,每个客户端只有一个实例由EJB-Container创建和共享和管理.有人可以向我解释一下吗?还请解释我如何实现EJB的同一个实例由多个其他EJB共享?

谢谢

java java-ee-6 ejb-3.1

5
推荐指数
1
解决办法
1504
查看次数

标签 统计

ejb-3.1 ×1

java ×1

java-ee-6 ×1