El JEE6 ya viene preparado para hacer fácil la gestión de tareas programadas siguiendo el estándar.
En este caso creamos un EJB singleton, pero podría ser de otro tipo.
Para más información sobre los parámetros de configuración o como hacerlo dinámicamente 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 lógica 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);
}
}
0 comentarios