Managed Beans que tem o escopo definido como de aplicação (@ApplicationScoped), somente são instanciados quando uma solicitação é feita a partir da aplicação. Ou seja, por padrão são “preguiçosos”.
Podemos forçar um Managed Bean de escopo de aplicação ser instanciado e colocado no âmbito de aplicação assim que o aplicativo é iniciado, e antes que qualquer requisição seja feita, para isso o atributo eager do managed bean deve ser definido como verdadeiro, exemplo a seguir:

import java.util.logging.Logger;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ApplicationScoped;

@ManagedBean(eager=true)
@ApplicationScoped
public class ToyEagerTru implements Serializable {
    private static final long serialVersionUID = -8393937275773764989L;
    private Logger logger = Logger.getLogger(this.getClass().getName());

    /**
     * Construtor padrão.
     */
    public ToyEagerTru() {
        super();
        logger.info("--- construtor executado ---");
    }
}

Crie o managed bean mostrado acima em uma aplicação teste, e acompanhe a saída de log do construtor, linha 16. Assim você poderá observar em que momento seu managed bean será criado.

Para conhecer mais sobre os tipos de escopos que um managed bean pode ser definido, leia o post Escopos de Managed Bean em JSF com Annotations.

Por enquanto é isso, até o próximo post.

4 comentários para “Eager Application-Scoped em ManagedBean

  1. This is a great web site. thanks for posting it.

  2. Very good article! We are linking to this particularly great post on our website. Keep up the good writing.

  3. I simply want to tell you that I’m newbie to blogging and seriously liked your blog site. Very likely I’m want to bookmark your website . You certainly have exceptional articles and reviews. Cheers for revealing your website page.

  4. I simply want to mention I’m new to weblog and really enjoyed you’re web page. Very likely I’m likely to bookmark your blog post . You amazingly come with remarkable writings. Thanks a bunch for revealing your web site.

Deixe um comentário

Campos obrigatórios são marcados *

Post Navigation