就像我在标题中所说的那样,我在会话范围内的托管bean中有一个带有@PostConstruct
标记的方法。但这种方法从未被调用过。在视图范围内的另一个bean中,@PostConstruct
工作正常。
@Postconstruct
标记在会话bean中有效吗?
这基本上是我的问题。
再见,谢谢!
答案 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副本,但是在另一个包中实际上已经使用了它。
验证所有内容,清理所有内容并执行完全重建/重新部署/重新启动。