@PostConstruct不会调用会话管理的bean

时间:2011-11-07 16:26:12

标签: java jsf-2 scope richfaces managed-bean

就像我在标题中所说的那样,我在会话范围内的托管bean中有一个带有@PostConstruct标记的方法。但这种方法从未被调用过。在视图范围内的另一个bean中,@PostConstruct工作正常。 @Postconstruct标记在会话bean中有效吗? 这基本上是我的问题。 再见,谢谢!

4 个答案:

答案 0 :(得分:1)

确保你的bean或bean的前身中的任何其他方法都没有@PostConstruct。 对于托管bean,只允许一个@PostConstruct

答案 1 :(得分:1)

我也面临同样的问题。当我从会话中销毁bean时,问题得到解决(如果bean在会话范围内,它适用于请求范围)。 当bean在会话范围内时,带有@PostConstruct注释的方法永远不会被调用两次,因为bean已经被实例化并存储在会话中。

答案 2 :(得分:0)

你如何引用会话bean?也许bean还没有实例化,你是否也在托管bean的构造函数中有一些日志记录?

答案 3 :(得分:0)

  

此外,永远不会调用构造函数,但bean工作得很好,除了@postconstruct方法和未调用的构造函数

您没有使用更改编译和部署bean类,或者您拥有另一个具有相同名称的bean副本,但是在另一个包中实际上已经使用了它。

验证所有内容,清理所有内容并执行完全重建/重新部署/重新启动。