我有一个@ViewScoped bean,它有一个带有@PreDestroy注释的方法,它应该确保一些远程连接是关闭的。但是,当用户导航离开时,不会调用该方法。
有什么可以做的错事吗?我必须在任何地方注册才能让它正常工作吗?
这是一个简单的公共方法(void),不抛出任何例外。
我在Tomcat7.0.12中使用JSF 2 (MyFaces)。会不会是Tomcat的问题?
更新
@PostConstruct注释工作得很好。
发布于 2011-06-16 12:34:08
这是一个已知的问题,不幸的是,如果不让所有导航通过所讨论的视图作用域bean进行,那么解决起来就不那么简单了。另见JSF-impl第1839期。这并不包括enduser更改浏览器地址栏中的URL或关闭窗口/选项卡的情况。当会话被销毁时,也不会调用它们的@PreDestroy。但是,已经发布了对规范的增强请求,以便在会话销毁过程中销毁悬空视图:第905期。
https://stackoverflow.com/questions/6368840
复制相似问题