2009-09-30 10 views

risposta

29

Quartz è la soluzione più noto per programmare i processi in ambienti Java, ma avete un sacco di opzioni. Controlla questo elenco:

QuartzQuartz è un sistema di pianificazione del lavoro open source che può essere integrato o utilizzato accanto a qualsiasi applicazione J2EE o J2SE. Il quarzo può essere utilizzato per creare programmi semplici o complessi.

Jcrontab è progettato per essere esteso e integrato con qualsiasi progetto. Legge e memorizza le attività da eseguire in un file, un database o un EJB e fornisce un'interfaccia utente Web e un'interfaccia grafica di base.

Essiembre J2EE Scheduler è un semplice meccanismo di pianificazione delle attività per le applicazioni J2EE. Questa libreria può essere considerata un wrapper attorno alle classi Timer e TimerTask trovate nell'API Java standard. Configurazione per le attività da eseguire e la loro frequenza è basata su XML.

cron4j è un programma di pianificazione per la piattaforma Java 2 che è molto simile al daemon cron UNIX.

Oddjob L'obiettivo è fornire un ordine e una visibilità a tutti i file batch e ai processi cron che legano insieme i processi aziendali critici di un'azienda.

Fulcrum Scheduler fornisce un servizio di pianificazione. Si basa su TurbineScheduler fornito con Turbine, ma tutti i componenti più vecchi sono stati rimossi. Attualmente SOLO lo Scheduler non persistente è fatto. Carica i lavori pianificati dal file config xml del componente.

Gos4j -Goal Oriented Scheduling for Java- è un modo di organizzare le priorità di elaborazione in base agli obiettivi.

Job Scheduler è un programma batch che opera come un demone e può essere controllato utilizzando un'interfaccia utente grafica. Job Scheduler utilizza una configurazione XML per i programmi programmati, gli script e per i tempi e la frequenza di elaborazione dei task. È disponibile un'API che ti consente di controllare gli eventi e accedere ai tuoi lavori.

JDRing è una libreria di pianificazione Java leggera, semplice e piccola, ma che supporta ancora gli avvisi di suoneria a intervalli specificati, come eventi singoli o su pianificazioni complesse con controllo cron-like completo.

jBatchEngine è uno spooler di lavori batch scritto in Java. In termini di pianificatori basati su tempi come Cron, jBatchEngine è guidato dagli eventi.

MyBatchFramework è un framework leggero open-source progettato per creare programmi batch facilmente affidabili e gestibili nel linguaggio Java.

Super with SuperScheduler and SuperWatchdog è un programma di pianificazione lavori Java con ricca interfaccia grafica per tutte le applicazioni. È neutrale rispetto alla piattaforma. Particolarmente bello essere un programmatore di lavoro per Linux e Solaris. Fornisce un super set di funzionalità dello Scheduler di Microsoft Windows. Fornisce la pianificazione innescata da eventi. Può pianificare le attività in un ambiente distribuito. Un'attività verrà eseguita una volta e una sola volta tra tutte le macchine nella rete. Tutte le attività sono regolabili per le vacanze. Anche ogni lavoro è un lavoro STANDBY, la storia sarà una buona traccia per compiti importanti. Supporta l'internazionalizzazione.

fonte: Open Source Job Schedulers in Java

4

Cerca TimerTask e Timer: entrambi sono in quella versione di JDK.

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

impostare per eseguire la prima data che si desidera allora il numero di millisecondi in un giorno come il vostro ritardo.

3

È possibile utilizzare una libreria come cron4j? Renderà il tuo lavoro molto più facile!

+0

Questo mi sembra una possibilità a seconda che questa libreria sarà permesso l'utilizzo –

+0

I secondi questo suggerimento - cron4j è una delizia, e funziona come un fascino, è molto più semplice quarzo (che funziona, anche, è piuttosto grande e spesso più del necessario, e ha alcuni nodi per casi d'uso più semplici) – StaxMan

1

devi usare Quartz

ho mai sapere che lancia al quarzo in primo luogo però.

Se si dispone di un server delle applicazioni o di un artefatto simile, è possibile configurare il processo Quartz in tale posizione e farlo eseguire all'ora specificata.

+3

Quartz ha molte caratteristiche fantastiche, quindi se le vostre esigenze sono elaborate, potrebbe essere una buona scelta . Ma se hai un semplice "spara alle 5:00 tutti i giorni", utilizzerei semplicemente Timer. – Jay

2
  • I timer Java possono eseguire un lavoro arbitrario a intervalli, orari prefissati, ecc. Ecc.
  • Quartz libreria
  • Se si vuole veramente essere scalzi su di esso, avvolgere in uno script di shell e inserire in cron.
0

Forse, che la recente post che aiuta:

Will this pause my Java thread for a minute?

La mia risposta a questa domanda è usare un Java integrato nell'attuazione basata sulle classi java.util.Time e java.util.TimerTask: Will this pause my Java thread for a minute?

Oppure, è possibile utilizzare il servizio crontab per piattaforme * nix (disponibile anche per piattaforme Windows). Questo è lo stile più semplice e leggero per eseguire periodicamente un lavoro autonomo.

[] 's,

e passati

+0

Fast crontab come: http://www.crontabrocks.org/ [] e oltre – apast

Problemi correlati