Domanda

Come posso eseguire un compito quotidiano in un momento specifico (per esempio 11:00) utilizzando java.util.Timer? Sto utilizzando JDK 1.4.2, lo so che è vecchio, ma è ciò che il progetto richiede.

È stato utile?

Soluzione

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

Quarzo è un sistema di pianificazione dei processi open source che può essere integrato con, o utilizzati lungo il lato qualsiasi applicazione J2EE o J2SE. Quarzo può essere utilizzato per creare programmi semplici o complessi.

Jcrontab è stato progettato per essere esteso e integrato con qualsiasi progetto. Legge e memorizza i compiti da eseguire in un file, un database o un EJB e fornisce un'interfaccia utente web e una GUI dell'oscillazione di base.

Essiembre J2EE Scheduler è un semplice meccanismo di schedulazione compito per applicazioni J2EE . Questa libreria può essere considerato un wrapper per le classi Timer e TimerTask trovati nelle API standard di Java. Configurazione per le attività da eseguire e la loro frequenza è basato su XML.

cron4j è uno scheduler per la piattaforma Java 2 che è molto simile al cron UNIX.

Oddjob L 'obiettivo è per fornire un certo ordine e visibilità a tutti i file batch e cron jobs che legano i processi aziendali critici di un'impresa insieme.

Fulcrum Scheduler fornisce un servizio di pianificazione . Essa si basa sul TurbineScheduler dotato di turbina, ma tutta roba più vecchia è stata rimossa. Attualmente solo la pianificazione non persistenti è fatto. Si carica di posti di lavoro in programma dal file XML di configurazione dei componenti.

Gos4j -Goal programmazione orientata per Java- è un modo di l'organizzazione di priorità di elaborazione basati su obiettivi.

Job Scheduler è un programma batch che opera come un demone, e può essere controllato utilizzando un'interfaccia utente grafica. Il Job Scheduler utilizza una configurazione XML per i programmi in programma, script e per i tempi e la frequenza del trattamento compito. Un API è disponibile che il controllo mani degli eventi e la registrazione per i vostri lavori.

JDRing è una libreria di programmazione Java leggero che è semplice e piccolo, ma supporta ancora gli allarmi di chiamata a intervalli specifici, come una volta gli eventi, o sugli orari dei complessi con il pieno controllo cron-like.

jBatchEngine è uno spooler di lavoro batch scritto in Java. In constrast al tempo guidato pianificatori come Cron, jBatchEngine è l'evento guidato.

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

Super con SuperScheduler e SuperWatchdog è un lavoro di pianificazione Java con ricchi GUI per tutte le applicazioni. È piattaforma neutrale. Particolarmente buono per essere un job scheduler per Linux e Solaris. Esso fornisce un super set di funzionalità del Scheduler di Microsoft Windows. Esso prevede la pianificazione su evento. E 'possibile pianificare le attività in un ambiente distribuito. Un'operazione verrà eseguita una sola volta tra tutte le macchine nella rete. Tutte le attività sono vacanze regolabili. Anche ogni lavoro è un lavoro STANDBY, la storia sarà una buona traccia per tas importantiks. Supporta Internazionalizzazione.

fonte: Open Source Job Scheduler in Java

Altri suggerimenti

Se vuoi in TimerTask e Timer -. Entrambi sono in tale versione del JDK

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

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

E 'possibile per l'utilizzo di una libreria come cron4j ? Si renderà il vostro lavoro molto più facile!

  • Java Timer può eseguire un processo arbitrario, ad intervalli orari prefissati, ecc.ecc.
  • libreria Quartz
  • Se si vuole veramente essere nudo-ossa su di esso, avvolgerlo in uno script di shell e mettere in in cron.

Devi usare quarzo

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

Se si dispone di un server di applicazione o manufatto simile è possibile configurare il lavoro di quarzo lì e fare eseguire il vostro compito in un dato momento.

Forse, che recente post vi aiuta:

Sarà questo mettere in pausa il mio thread Java per un minuto?

La mia risposta a questa domanda è utilizzare un Java integrato nell'attuazione basata sulle classi java.util.Time e java.util.TimerTask: Sarà questo mettere in pausa il mio thread Java per un minuto?

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

[] 's,

E Passato

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top