当客户端VM突然终止时,状态EJB不会被钝化

时间:2011-07-21 14:32:25

标签: java jboss ejb

我在Jboss 4.3上部署了一个有状态会话bean,jboss.xml上有以下配置:

<cache-config>
      <idle-timeout-seconds>7200</idle-timeout-seconds>
      <remove-timeout-seconds>8000</remove-timeout-seconds>
</cache-config>

IE:

豆类应在IDLE 2小时后钝化,2小时15分钟后取出。

问题是:当客户端虚拟机突然终止时,bean既不会被钝化也不会被删除。

有没有办法避免这种情况?

1 个答案:

答案 0 :(得分:1)

  

容器只能在有时会钝化有状态会话bean实例   该实例不在事务中。

     

容器不能使用for来钝化有状态会话bean   扩展持久化上下文,除非满足以下条件:

     
      
  • 持久化上下文中的所有实体都是可序列化的。
  •   
  • EntityManager是可序列化的。
  •   
     

与有状态会话bean关联的任何拦截器类都必须是Serializable。

引用可能限制bean被钝化。