¿Cómo puedo agregar mensajes de caras durante @PostConstruct?

En el método @PostConstruct de un bean de respaldo, realizo una llamada a un EJB que podría devolver algunos mensajes que deseo mostrar en la página a través de mensajes p :. Sin embargo, incluso si agrego los mensajes de cara, por ej. FacesContext.getCurrentInstance (). AddMessage (...), p: messages no se está actualizando con los FacesMessages.

Si en cambio invoco la llamada al EJB en una acción desde la página (digamos que un usuario hace clic en un botón en la página que invoca un método que llama al EJB y luego agrega el FacesMessage (s)), entonces los mensajes aparecen con p : mensajes como se esperaba.

¿Cómo agrego los mensajes de caras durante @PostConstruct y hago que aparezcan cuando la página se renderiza 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>

Respuestas a la pregunta(3)

Su respuesta a la pregunta