Tenho um projeto rodando com Vraptor 4 + Hibernate + Tomcat e quero executar alguns updates no banco de dados logo após iniciar o tomcat.
Tentei o seguinte:
- Adicionei no meu web.xml um listener
br.com.sistema.ComponenteInicializadorSistema
E então criei a minha classe
import javax.annotation.PostConstruct;
import javax.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
import br.com.sistema.dao.UsuarioDao;
@ApplicationScoped
public class ComponenteInicializadorSistema {
@Inject
private UsuarioDao usuarioDao;
@PostConstruct
public void nomeDoMetodo() {
// vamos executar algo...
System.out.println("chegou aqui");
usuarioDao.findById(1);
}
}
O problema que o objeto UsuarioDao está nulo, logo não tenho acesso a nenhum método.
Percebi que o hibernate só é iniciado após a aplicação invocar alguma requisição no banco de dados (acessando a aplicação e fazendo uma requisição). Há alguma forma de antecipar isto?