[Resolvido] Web.xml executar EJB

Olá pessoal,

Crieu um processo de agendamento utilizando as classes Timer e TimerTask. com o uso de EJB 3.

Porém, após o agendamento que ocorre naturalmente, preciso criar uma forma de que essas tarefas sejam executadas com sucesso, caso exista uma queda de energia.
No entanto, eu tenho um método no meu Bean que execute todas as tarefas novamente caso não estejam realizadas.

[code] @Override
public void reprocessarAgendamento() {
List lista = entityManager.createQuery("select o from AgendarTarefa o where o.status = false ").getResultList();

    //Instancias de Timer e TimerTask
    Timer timer = new Timer();
    Tarefa task = new Tarefa();

    //Laço responsável pelo agendamento das Tarefas
    for (AgendarTarefa object : lista) {
        task.setAt(object);
        timer.schedule(task, object.getDataAgendamento());
    }
}

[/code]

Preciso que esse método seja executado ao reiniciar o servidor e startar meu servidor Glassfish v2, sendo automático reagendamento dos meus processos.

grato.

Fala majjhor blz?

Cara não sei se isso pode te ajudar, mas dá uma olhada nos links abaixo:

http://java.sun.com/products/servlet/2.3/javadoc/javax/servlet/ServletContextListener.html

http://www.java-tips.org/java-tutorials/tutorials/introduction-to-servlet-listener-using-eclipse.html

Espero q possa ter ajudado.

[quote=joaosouza]Fala majjhor blz?

Cara não sei se isso pode te ajudar, mas dá uma olhada nos links abaixo:

http://java.sun.com/products/servlet/2.3/javadoc/javax/servlet/ServletContextListener.html

http://www.java-tips.org/java-tutorials/tutorials/introduction-to-servlet-listener-using-eclipse.html

Espero q possa ter ajudado.[/quote]

Obrigado Joaosouza, deu certo.

Foi esta a solução:

[code]public class ServletListener implements ServletContextListener {

@Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
    try {
        AgendarTarefaRemote atr = EJBs.lookup(AgendarTarefaRemote.class);
        atr.reprocessarAgendamento();
    } catch (Exception ex) {
        ex.printStackTrace()
    }
}

@Override
public void contextDestroyed(ServletContextEvent servletContextEvent) {}

}[/code]

<listener> <listener-class>ServletListener</listener-class> </listener>

Boa garoto,

Eh isso aí… quando tiver dúvidas eh só postar…