Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java @构造后不调用会话管理bean_Java_Jsf 2_Scope_Richfaces_Managed Bean - Fatal编程技术网

Java @构造后不调用会话管理bean

Java @构造后不调用会话管理bean,java,jsf-2,scope,richfaces,managed-bean,Java,Jsf 2,Scope,Richfaces,Managed Bean,正如我在标题中所说,我在会话范围内的托管bean中有一个带有@PostConstruct标记的方法。但该方法从未被调用。在视图范围内的另一个bean中,@PostConstruct工作正常。 @Postconstruct标记在会话bean中工作吗? 这基本上是我的问题。 再见,谢谢 如何引用会话bean?可能bean还没有实例化,您是否在托管bean的构造函数中也有一些日志记录?确保您的bean或bean的前身中没有任何其他方法的@PostConstruct。 对于托管bean,只允许一个@Po

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

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

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


此外,构造函数从未被调用,但bean工作正常,除了@postconstruct方法和构造函数没有被调用

要么您没有编译和部署带有这些更改的bean类,要么您有另一个同名但在另一个包中的bean副本,而这个包实际上被使用了


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

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

我想OP说的是abt JSFHi,我正在使用JSF 2.0和Richfaces 4。你确定没有调用该方法吗?如何?@PostConstruct public void init(){System.out.println(“PostConstruct-series”);}PostConstruct-series从不显示抱歉,我指的是bean的范围。此外,构造函数从未调用,但bean工作正常,除了@postconstruct方法和构造函数not calledPerhaps之外,您可以添加一个指向文档的链接,在文档中可以找到此信息“bean类中只有一个方法可以使用此注释进行注释。如果您使用此注释注释多个方法,EJB将不会部署。”