Oddjob 1.6.0

Oddjob is a flexible scheduler and manager for jobs/tasks across a distributed server network. Any machine can put off jobs to other servers, may set dependencies or trigger alerts. It's suitable to automate batch or shell scripts, trigger email processing, SQL queries, or file processing jobs.

Tags java swing scheduler jobs cron distributed job-monitor server desktop
License Apache
State stable

Recent Releases

1.6.027 Sep 2017 03:15 major feature: Still Todo Move Tests to Junit 4. Add Security to the WebApp (with a Read Only role). Deferred to A Later Version. Add Parent Started State to User Guide. Document thread, and services. Find cut and paste where the old version of a job with an id is left in the ComponentPool. PropertiesJob after deserialisation is wrong. The properties recovered from the stream are override properties and aren't removed on reset. Also describeable doesn't work. RepeatJob needs more tests and examples. Especially around soft resets. Move Timer and State Jobs out of namespaces because things like timer and if are really core. Create dummy super classes from depricated namespace jobs. Introduce a witheach job that behaves like foreach except that values are 'pushed' into it. Document synthetic annotations in the Developer Guide. Document conversions. Possibly include conversions in the Reference. Add the ability to change the log level from the UI. Add LogLevel TRACE and NONE to match Log4j. Add serialisation of services. Use a server side file system for choosing files on server component designer forms. Allow pasting and dragging Oddjobs onto the startup panel of Oddjob Explorer. Introduce the idea of Read only configuration that can't be modified if it's been loaded from a non modifiable resource, i.e. from the class path. Check a configuration hasn't been modified by someone else before a modification is saved back from designer. Add Undo functionality to Oddjob configuration. Improve the job. Follow Ant's lead of changing to a job and copy some of it's feature including; overwrite, force, failonerror, verbose, preservelastmodified. Add the ability to back up the moved files like Linux does. Introduce a FilterType that can filter files by modified date, created date, or match against a regular expression.
1.5.015 Apr 2015 06:25 major feature: Created Reset Actions including an AUTO reset action that will look at the state before issuing either a hard or soft reset. Changed Reset Job to use the new actions. Added an optional Reset Action to Run Job. Added an ParameterisedExecutable concept to allow jobs to be run with parameters. Timer STARTED state is not complete so a Cascade will wait for timers to complete. Fixed bug where lastStateEvent was not reflected in a JMX client.
1.4.005 Nov 2014 21:05 major feature: Timers can now be forced to complete. Added a classPath property to AntJob. Added the ability to set System properties via the system flag on the Properties Job. StructuralJob's default state operator has been changed back to WORST from ACTIVE. It is felt this is more intuitive in most cases. Support recursive directory wild card matching in Files Type with **. Added flag to delete job to stop accidently deleting root and added extra logging. A Map Type has been added. The keys must be strings but the values can be any type. Structural jobs no longer attempt to Stop their children when destroyed. This allows child jobs to distinguish between being stopped and destroyed. Timers now use a separate TimerState not a ParentState. This allows them to be STARTABLE like services. Service states have been renamed from READY to STARTABLE and COMPLETE to STOPPED. These states have different icons which makes it easier to see the overview of a job sequence from Oddjob Explorer. If job will now supports an asynchronous child job. Added a new Service Finder to the Arooa Tools so that components can find services themselves. Structural jobs (sequential/parallel) will not time out when stopping. The stop flag will remain true so that the job will eventually stop. The List type will now accept elements being added on the fly via a new add property. Repeat Job will now work with any Iterable set of values, i.e. A List. There is a new Sequence Type that creates integer sequences as an iterable. This can be used with Repeat Job and For Each job for instance. Tee type can now be used with an input stream to create a wire tap of what is read from the stream. The Log Panel in Explorer will now show TRACE messages. The ScriptJob class loader can now be set. URLClassLoader type now just creates one class loader when it's configured, not a new one each time it was resolved. AppendType is now configured with a file attribute like FileType and it also shares the same designer. Invoke job