Como posso adicionar mensagens de rostos durante @PostConstruct

No método @PostConstruct do bean de apoio, faço uma chamada para um EJB que pode retornar algumas mensagens que desejo exibir na página via p: messages. No entanto, mesmo se eu adicionar o FacesMessages, por exemplo FacesContext.getCurrentInstance (). AddMessage (...), p: messages não está sendo atualizado com o FacesMessages.

Se, em vez disso, eu invocar a chamada para o EJB em uma ação da página (digamos que um usuário clica em um botão na página que invoca um método que chama o EJB e adiciona a (s) FacesMessage (s)), os messags aparecem usando p : mensagens como esperado.

Como adiciono mensagens de faces durante @PostConstruct e faço com que elas apareçam quando a página é renderizada inicialmente?

Código:

Page1Controller.java:

<code>@ManagedBean
public class Page1Controller
{
    @PostConstruct
    public void init()
    {
        FacesContext.getCurrentInstance().addMessage(null, 
            new FacesMessage("Test Message from @PostConstruct"));
    }

    public String getValue()
    {
            return "Some Value";
    }

    public void triggerMessage(ActionEvent event)
    {
            FacesContext.getCurrentInstance().addMessage(null, 
                    new FacesMessage("Test Message from Trigger Button"));      
    }

}
</code>

page1.xhtml

<code>   <h:form>
        <p:messages showDetail="true" showSummary="true" autoUpdate="true"/>
        <h:outputText value="#{page1Controller.value}"/>
        <br/>
        <p:commandButton value="Trigger Message" 
                         actionListener="#{page1Controller.triggerMessage}"/>  
   </h:form>
</code>

questionAnswers(3)

yourAnswerToTheQuestion