很多时候,当我尝试访问某些页面或单击“无法找到有状态bean:3j011-udy7sm-hkt798pd-1-hkt7bobh-9”错误时,屏幕上会出现JSF项目错误。有人知道原因吗这个errpr
答案 0 :(得分:1)
可能是你遇到了超时,容器已经删除了有状态会话。
您可以使用@StatefulTimeout
(EJB 3.1)来设置此值。来自Javadoc:
指定有状态会话bean在符合容器删除条件之前可以空闲(不接收任何客户端调用)的时间。
要验证是否确实如此,请添加@PreDestroy
的方法,以便查看是否已删除SFSB。
示例:
@Stateful(name = "xxx")
@StatefulTimeout(value = 15, unit = TimeUnit.SECONDS)
public class Sfsb {
@PreDestroy
public void preDestroy() {
System.out.println("INFO: " + "@PreDestroy");
}
}