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

问题描述 投票:4回答:1

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

  1. 有没有办法阻止玻璃鱼的钝化(我发现有一个问题,但找不到办法)?
  2. 容器在钝化sfsb时尝试序列化实体管理器是否正确?
  3. 这个例外可能还有其他原因吗?

注意:请不要询问代码它只是一个有状态bean,扩展实体管理器由应用程序范围cdi bean调用。

glassfish ejb cdi
1个回答
3
投票

您必须将passivationCapable设置为false。

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

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

 . . .

}
© www.soinside.com 2019 - 2024. All rights reserved.