[ACCEPTED]-How to run a task daily from Java?-jdk1.4

Accepted answer
Score: 33

Quartz is the most well known solution to 59 schedule processes in Java environments, but 58 you have a lot of options. Check this list:

Quartz is 57 an open source job scheduling system that 56 can be integrated with, or used along side 55 virtually any J2EE or J2SE application. Quartz 54 can be used to create simple or complex 53 schedules.

Jcrontab is designed to be extended and 52 integrated with any project. Reads and stores 51 the tasks to execute in a file, a database 50 or an EJB and provides a web UI and a basic 49 swing GUI.

Essiembre J2EE Scheduler is a simple task scheduling mechanism 48 for J2EE applications. This library can 47 be considered a wrapper around the Timer 46 and TimerTask classes found in the standard 45 Java API. Configuration for tasks to be 44 executed and their frequency is XML-based.

cron4j is 43 a scheduler for the Java 2 platform which 42 is very similar to the UNIX cron daemon.

Oddjob's 41 goal is to provide some order and visibility 40 to all the batch files and cron jobs that 39 tie an enterprise's critical business processes 38 together.

Fulcrum Scheduler provides a scheduler service. It 37 is based on the TurbineScheduler provided 36 with Turbine, but all older stuff has been 35 removed. Currently ONLY the non persistent 34 Scheduler is done. It loads scheduled jobs 33 from the component config xml file.

Gos4j -Goal 32 Oriented Scheduling for Java- is a way of 31 organising processing priorities based on 30 goals.

Job Scheduler is a batch program operating as 29 a demon, and can be controlled using a graphical 28 user interface. The Job Scheduler uses an 27 XML configuration for the scheduled programs, scripts 26 and for the timing and frequency of task 25 processing. An API is available that hands 24 control of events and logging to your jobs.

JDRing is 23 a lightweight Java scheduling library that 22 is simple and small, but still supports 21 ringing alarms at specified intervals, as 20 one-time events, or on complex schedules 19 with full cron-like control.

jBatchEngine is a batch 18 job spooler written in Java. In constrast 17 to time driven schedulers like Cron, jBatchEngine 16 is event driven.

MyBatchFramework is an open-source lightweight 15 framework designed to create easily robust 14 and manageable batch programs into the Java 13 language.

Super with SuperScheduler and SuperWatchdog is a Java job scheduler with 12 rich GUI for all applications. It is platform 11 neutral. Especially good to be a job scheduler 10 for Linux and Solaris. It provides a super 9 set of functionalities of the Scheduler 8 of Microsoft Windows. It provides event-triggered 7 scheduling. It can schedule tasks in a distributed 6 environment. A task will be executed once 5 and only once among all machines in the 4 network. All tasks are holiday adjustable. Even 3 every job is a STANDBY job, the history 2 will be a good trace for important tasks. It 1 supports Internationalization.

source: Open Source Job Schedulers in Java

Score: 4

Look into TimerTask and Timer - both are 3 in that version of the JDK.

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

Set it to run 2 the first Date you want then the number 1 of milliseconds in one day as your delay.

Score: 3

Is it possible for you to use a library 1 such as cron4j? It will make your job much easier!

Score: 2
  • Java Timers can run an arbitrary job at intervals, pre-fixed times, etc.etc.
  • Quartz library
  • If you really want to be bare-bones about it, wrap it in a shell script and put in in cron.


Score: 1

You have to use Quartz

I have never know who launches 4 Quartz in first place though.

If you have 3 an application server or similar artifact 2 you can configure the Quartz job there and 1 have it run your task at the given time.

Score: 0

Maybe, that recent post helps you:

Will this pause my Java thread for a minute?

My response 7 for that question is use a java built in 6 implementation based on java.util.Time and 5 java.util.TimerTask classes: Will this pause my Java thread for a minute?

Or, you can 4 use the crontab service for *nix platforms 3 (available for Windows platforms too). That's 2 the simplest and light-weight style to run 1 a standalone job periodically.


And Past

More Related questions