很多时候,每当我尝试访问某些页面或单击按钮“找不到有状态的 bean:3j011-udy7sm-hkt798pd-1-hkt7bobh-9”时,JSF 项目的屏幕上都会出现错误。有人知道这个错误的原因吗
问问题
4248 次
1 回答
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");
}
}
于 2013-08-27T18:27:51.013 回答