Weblogic 12c JSF不调用(忽略)@PostConstruct

时间:2012-03-23 23:49:33

标签: jsf-2 weblogic postconstruct weblogic12c

总之,在托管bean上的WebLogic12c上,JSF不会调用带@PostConstruct的方法。

我有一个非常基本的应用程序。

使用的技术: JSF2.0

应用服务器: WebLogic 12c

爪哇

@ManagedBean
@ViewScoped

public class BeanTest implements Serializable {

    private String hola_mundo = "";

    public BeanTest(){
        this.init();
    }

    private void init(){
        hola_mundo +=" Enter to construct - ";
    }


    @PostConstruct
    public void initPostConstruct(){
        hola_mundo +=" Enter to PostConstruct - ";
    }

    public String getHola_mundo() {
        return hola_mundo;
    }

    public void setHola_mundo(String hola_mundo) {
        this.hola_mundo = hola_mundo;
    }
}

XHTML

<h:head>
    <title>Facelet Title</title>
</h:head>
<h:body>
    Test
    <br/>
    #{beanTest.hola_mundo}
</h:body>

当托管bean是JSF的实例时, 托管bean beanTest是create,(在普通构造函数中输入) 但不要使用PostConstruct输入(忽略,不调用)方法。

WebLogic显示的文本:Enter to Construct 预期文本,但不显示在WL中:输入到构造 - 输入到PostConstruct

该应用程序已部署在其他应用程序服务器上:

  • GlassFish 3.1.1
  • GlassFish 3.1.2
  • Tomcat 7.0.22

并显示预期结果。

问题只发生在JSF托管bean(请求,会话,视图,应用程序)上,如果使用CDI,则调用PostConstruct。但我需要使用JSF ViewScoped注释。

有人有想法吗?

1 个答案:

答案 0 :(得分:2)

嗯,问题解决了。

这是一个报告的错误,并且已经有补丁。

Bug:13703600
补丁:SU补丁[UXPH]:WLS12C - 未在JSF APP中的@MANAGEDBEAN BECE上调用POSTCONSTRUCT。

我应用了补丁,问题得到解决......