为什么在JSF / CDI托管bean中注入有状态会话bean被认为是错误的?

时间:2016-05-20 14:27:31

标签: session jsf ejb-3.0 httpsession

Pascal Thivent在这里提到 -

  

如果您使用的是SFSB,那么您必须avoid将它们注入课堂   本质上为multithreaded的内容,例如ServletsJSF managed   beans(您不希望所有客户共享它。)

快速开始,BalusC也提出同样的事情here - ,但间接地。

  

....仅当您需要真正的有状态session bean

时才使用SFSB

考虑一个Session Scoped Managed bean -

@SessionScoped
public class Bean{
     @EJB
     EjbBean ejbBean;
}

@Stateful
public class EjbBean{
}

但是上面的SessionScoped bean只会链接到one客户端,因此会state/ instance variablesother会话范围的bean不同。随后,任何stateful EJB bean都不会被其他客户共享。

请说明作者所说的内容 -

  

您不希望所有客户共享

我完全理解差异b / w HttpSession& session中的Stateless Session Bean字词。

0 个答案:

没有答案