Quand à l'utilisation de f:viewAction / preRenderView contre PostConstruct?

Quand doit-on utiliser le f:viewAction ou preRenderView événement pour initialiser les données pour une page par rapport à l'aide de la @PostConstruct annotation? C'est la logique d'utiliser l'un ou l'autre en fonction du type de champ d'application de la sauvegarde de haricot par exemple, Si le backing bean est @RequestScoped, alors le choix d'utiliser f:viewAction ou preRenderView sur @PostConstruct pour initialiser le backing bean avant le rendu de la vue, hors de propos car les deux résultat serait le même effet?

f:viewAction ou preRenderView

<f:metadata>
  <f:viewAction action="#{myBean.initialize}" />
</f:metadata>
<f:metadata>
  <f:event type="preRenderView" listener="#{myBean.initialize}"/>
</f:metadata>

ou

@PostConstruct

public class MyBean
{
    @PostConstruct
    public void initialize()
    {

    }
}