What's new in Oddjob 1.4.0
Dec 5, 2014
- Changes:
- 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 has an addition Object[] configuration option for arguments that can be used with tokenizer to be more convenient for simple args.
- Foreach now COMPLETEs when it has no values.
- Deferred to A Later Version:
- Add Parent Started State to User Guide. Document thread, and services.
- 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.
- Look at what happens when there are exceptions in a timer. Should there be a haltOnException flag. Should an Exception in a timer be indicated as an exception state not an incomplete state?
- Add Security to the WebApp (with a Read Only role).
- Include a Jetty Oddball to allow connecting to an Oddjob server from a browser without the need for a separate Servlet Container.
- Improve the AJAX JSF front end to be more AJAXy.
- 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.
New in Oddjob 1.3.0 (Feb 13, 2014)
- Add a bean-bus element that supports constructing arbitrary bean busses.
- Change SQLJob to support bean bus components allowing result beans to be streamed into any Collection.
- Many improvements to the BeanBus framework including changing bean bus destinations to be any Collection.
- Improve support for Magic Beans which are beans that can be created dynamically within Oddjob.
- Upgraded HSQL lib to 2.2.9.
- Add a zero length string check to Check Job. Also added a Designer.
- Added a Grep Job that can search files or any other input for text or a regular expression.
- The Date Type now supports the use of shortcuts for NOW, TODAY, TOMORROW and YESTERDAY.
- The Timer job now supports setting the nextDue property to reschedule a job. Setting the reschedule property has been improved and documented.
- A serializable wrapper around ImageIcon has been added to Iconic to solve serialization problems between different versions of Java 1.6 on client and server.
- Added a Database Dialect to SQLJob. This allows result processing to be tailored for different databases if required.
- Add SQL tests for Oracle. Add a database dialect based on column type that is needed for some Oracle column types.
- Parallel and Sequential have been given a stateOperator property that allows how they interpret their child states to vary. The SERVICES state operator does what serviceman used to do and so it has been removed.
- Parallel has been given a join property that restores the pre Version 1.0 behaviour of waiting for the parallel threads to complete before continuing. Note that it's use is discouraged!
- A new Parent State of STARTED has been introduced to better reflect child service states. Timer and Retry now uses STARTED instead of ACTIVE.
- Cascade now works correctly with the STARTED state of services.
- Timer and Retry now allow the nextDue property to be set while the timer is running.
- New Swing Panel is available that provides Oddjob jobs as simple Buttons. It is not yet an Oddjob element but can be added with
- Change foreach so that a parallel foreach can have a run window (i.e. preLoad and purgeAfter properties). Also individual foreach jobs may now be configured with designer.
- Developer Guide documentation has been improved especially around using Oddballs.
New in Oddjob 1.1.0 (Jan 30, 2012)
- A new JSF AJAX Web frontend replaces the old Struts version.
- The ability to force a failed job to complete has been added.
New in Oddjob 1.0.0 (Oct 26, 2011)
- Improved scheduling, more intuitive configuration, and many more examples.
- Oddjob Explorer now has the ability to open new windows, navigation is easier, and more accelerator keys have been added.
- A read only role for the JMX client has been introduced, and a JMX server can now use the Platform MBean.
- Many bugs have been fixed, extra tests have been added, and job documentation improved.
New in Oddjob 0.30.0 (May 3, 2011)
- Adoption of the international date standard ISO 8601 for all configurations.
- An input handler for prompting for user input.
- An improved Reference Guide including many more examples.
New in Oddjob 0.29.0 (Aug 30, 2010)
- Simple Archiving by taking a snapshot of a job's silhouette.
- Support for distributing work across multiple servers by using a job that grabs for work.
- Much improved SQL support, including running stored procedures and parameterised queries.
New in Oddjob 0.28.0 (Sep 29, 2009)
- This release includes server security with JMX Simple Security, network failure detection in the JMX client, a cleaner core Oddjob achieved with more Oddballs, and a Simple services framework for auto wiring beans.