我已经读过bean@Stateful
(SFSB) 永远不应该注入到@Stateless
bean (SLSB) 中。但是实现以下目标的正确方法是什么?
@Stateless
public class FirstEJB
{
@EJB
private SecondEJB second;
public void businessMethod()
{
second.businessMethod1();
second.businessMethod2();
}
}
有一些状态应该在second.businessMethod1()
and之间保持second.businessMethod2()
,所以SecondEJB
不能是无状态的。也没有简单的方法将方法合并为一个,因为businessMethod1()
可以有两个以上的业务方法,并且可以以不同的组合调用它们。businessMethod2()
SecondEJB
实际上我已经尝试过SecondEJB
有状态并且它似乎可以工作,但它会导致内存泄漏。没有SecondEJB
标有@Remove
注释的方法,但我尝试@StatefulTimeout
过没有运气:创建了很多SecondEJB
实例但没有删除。有人可以解释为什么会泄漏吗?