Seleccionar página

El JEE6 ya viene preparado para hacer facil la gestión de tareas programadas siguiendo el estandar.

En este caso creamos un EJB singleton, pero podria ser de otro tipo.

Para más información sobre los parametros de configuracion o como hacerlo dinamicamente consultar la siguiente url:

http://download.oracle.com/javaee/6/tutorial/doc/bnboy.html

Aquí esta el código:


import javax.ejb.Schedule;
import javax.ejb.Singleton;
import org.jboss.logging.Logger;

@Singleton
public class TareaProgramada {

private final Logger log = Logger.getLogger(getClass().getName());

//@Schedule(hour = "0", dayOfWeek = "*", info = "Todos los dias a las 00:00")
@Schedule(second = "*", minute = "*/5", hour = "*", info = "Every 5 minutos")
public void performTask() {

long timeInit = System.currentTimeMillis();
long time = System.currentTimeMillis();

log.info(":. Inicio TareaProgramada.");

try {
timeInit = System.currentTimeMillis();

// TODO Hacer la logica de la tarea programada

} catch (Exception e) {
log.error("Error en la tarea programada");
log.info(e);

time = System.currentTimeMillis() - timeInit;
log.info(":. Fin tarea programada. Tiempo de proceso = " + time);

}
}