3
我刚刚阅读Adam Bien的Why stateful and local anti-facades are KISS,他建议使用带有EntityManager的SFSB在整个客户端交互过程中保留实体。带有不可序列化的EntityManager的有状态会话bean钝化?
简化版,在集群环境中这种失败不是在评论中提及,而且每当SFSB应该由容器钝化?
如果我说得对,你会建议什么样的解决方案?我想尽量减少应用程序中的层数,将SFSB绑定到对话范围并直接在我的JSF视图中引用它们会很有用。
我可以回答#1:是的,扩展PC将防止钝化(从而进行故障切换)。我不知道如何回答#2;我不清楚你想要解决什么问题。 –
它涉及到钝化时是交易范围还是扩展?我试图找出用于我的应用程序的EJB 3/CDI/JSF的基本设计。内存消耗可能不会成为问题,所以我认为我会去“有状态”的设计来规避合并实体。 – user953217
我猜Tx或扩展类型**确实很重要。看看* EJB 3.1 FR规范* **“4.2有状态会话Bean的会话状态”**:“一个容器**不能**使用扩展持久化上下文钝化有状态会话Bean,除非下列条件met:1.持久化上下文中的所有实体都是可序列化的。2. EntityManager是可序列化的。“ –