防止钝化是glassfish 4中的有状态会话bean

时间:2014-08-07 17:00:14

标签: glassfish ejb cdi

我有一个有状态会话bean,它注入扩展实体管理器。当我部署应用程序一段时间时,会发生异常,表明扩展的实体管理器未被序列化。经过一番搜索后,我发现bean的钝化可能是造成这种异常的原因。

  1. 有没有办法阻止玻璃鱼的钝化(我发现存在问题,但无法找到方法)?
  2. 在钝化sfsb时,容器是否正确尝试序列化实体管理器?
  3. 是否会出现此异常的其他原因?
  4. 注意:请不要询问代码,它只是一个有状态bean,扩展的实体管理器由应用程序范围cdi bean调用。

1 个答案:

答案 0 :(得分:3)

您必须将passivationCapable设置为false。

passivationCapable指定此有状态会话bean是否具有钝化功能

@Stateful(passivationCapable=false)
public class HelloBean {
    private NonSerializableType ref = ...

 . . .

}