Pregunta

¿Cómo puedo ejecutar una tarea diaria a una hora determinada (digamos 11 a.m.) usando java.util.Timer? Estoy usando JDK 1.4.2, sé que es antiguo, pero es lo que requiere el proyecto.

¿Fue útil?

Solución

cuarzo es la solución más conocido para programar procesos en entornos Java, pero hay un montón de opciones. Compruebe esta lista:

cuarzo es un sistema de planificación de tareas de código abierto que se puede integrar con, o se utiliza a lo largo de lado prácticamente cualquier aplicación J2EE o J2SE. Cuarzo se puede utilizar para crear programas simples o complejos.

Jcrontab está diseñado para ser ampliado e integrado con cualquier proyecto. Lee y almacena las tareas a ejecutar en un archivo, una base de datos o un EJB y proporciona una interfaz de usuario web y una interfaz gráfica de usuario básica swing.

Essiembre J2EE Programador es un simple mecanismo de programación de tareas para aplicaciones J2EE . Esta biblioteca puede considerarse una envoltura alrededor de las clases Contador de tiempo y TimerTask que se encuentran en la API estándar de Java. Configuración de tareas a ejecutar y su frecuencia está basado en XML.

cron4j es un programador para la plataforma Java 2, que es muy similar a la del demonio cron de UNIX.

Oddjob objetivo 's es para proporcionar un poco de orden y visibilidad a todos los archivos por lotes y trabajos de cron que unen a los procesos críticos de negocio de una empresa juntos.

Programador de Fulcrum proporciona un servicio del planificador . Se basa en la TurbineScheduler provisto con Turbina, pero todos más viejos, se ha eliminado. Actualmente se lleva a cabo sólo el organizador no persistente. Se carga trabajos programados desde el archivo XML de configuración de componentes.

Gos4j -Goal Programación Orientada para Java es una forma de la organización de las prioridades de procesamiento sobre la base de objetivos.

programador de trabajo es un programa por lotes que opera como un demonio, y puede ser controlado mediante una interfaz gráfica de usuario. El programador de trabajo utiliza una configuración de XML para los programas programados, secuencias de comandos y para el tiempo y la frecuencia de procesamiento de tareas. Una API está disponible que las manos el control de eventos y registro a sus puestos de trabajo.

JDRing es una biblioteca de programación Java de peso ligero que es simple y pequeña, pero aún así tiene alarmas que suenan a intervalos específicos, como los eventos de una sola vez, o en horarios complejos con el control total de cron similar.

jBatchEngine es una cola de trabajo por lotes escrito en Java. En constraste con planeadores de tiempo impulsado como Cron, jBatchEngine está orientado a eventos.

MyBatchFramework es un marco ligero de código abierto diseñado para crear programas de lotes con facilidad robustos y manejables en el lenguaje Java.

estupendo con la SuperScheduler y SuperWatchdog es un planificador de tareas Java con ricos interfaz gráfica de usuario para todas las aplicaciones. Es una plataforma neutral. Especialmente bueno para ser un planificador de tareas para Linux y Solaris. Proporciona un conjunto de súper funcionalidades del Programador de Microsoft Windows. Proporciona programación activado por eventos. Se puede programar tareas en un entorno distribuido. Una tarea se ejecutará una vez y sólo una vez entre todas las máquinas en la red. Todas las tareas son vacaciones ajustable. Incluso cada trabajo es un trabajo ESPERA, la historia será una buena traza para tas importantesKansas. Es compatible con la internacionalización.

Fuente: Open Source planificadores de tareas en Java

Otros consejos

Mira en TimerTask y temporizador -. Ambos se encuentran en esa versión del JDK

Timer :
public void schedule(TimerTask task, Date firstTime, long period)
public void scheduleAtFixedRate(TimerTask task, Date firstTime, long period)

Configurar para que se ejecute la primera fecha que desee a continuación, el número de milisegundos en un día como su demora.

¿Es posible para que pueda utilizar una biblioteca como cron4j ? Esto hará que su trabajo mucho más fácil!

  • Java temporizadores puede ejecutar una tarea arbitraria, a intervalos, tiempos prefijados, etc.etc.
  • biblioteca de cuarzo
  • Si realmente quiere ser escueto al respecto, lo envuelve en un script de shell y poner en en cron.

Usted tiene que usar cuarzo

Nunca he saber quién lanza de cuarzo en primer lugar sin embargo.

Si usted tiene un servidor de aplicaciones o artefactos similares se puede configurar el trabajo de cuarzo allí y hacer que se ejecute la tarea en el momento dado.

Tal vez, después de que recientemente le ayuda a:

Será esta pausa mi hilo de Java por un minuto?

Mi respuesta a esa pregunta es utilizar un Java incorporado de aplicación basado en clases y java.util.Time java.util.TimerTask: ¿Esta pausa en mi hilo de Java por un minuto?

O bien, puede utilizar el servicio de crontab para plataformas * nix (disponible para las plataformas Windows también). Ese es el estilo más simple y ligero para ejecutar un trabajo independiente periódicamente.

[] 's,

Y Pasado

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top