I am implementing a module for my web application that would be responsible for scheduling and running batch jobs. I am looking for frameworks (Quartz, Spring Batch) etc that can help me to avoid developing everything from scratch. The main features that I am looking for are:
UI that can be used to schedule the jobs and check the status of jobs in progress
Monitoring of the Jobs in progress e.g. time taken, reason for failure etc
Easy Extensibility to create new jobs. Our application will have few 'out of box' jobs that is these would be bundled
Ability to run batch and shell scripts
Minimal Performance Overhead
Interface with web application or can run within a Servlet container
There are quite a good number of frameworks available but I am looking for some sort of expert opinion on these. Also, would I need to use two different frameworks (quartz + spring batch) for these two requirements - Scheduling and Running. OR there is a single framework available that meets both the requirements.
I only know Quartz because I needed one time to launch jobs as cron tasks (with similar syntax) in
a J2EE context. It was very easy to integrate the library into a full fledged J2EE application
(JSF, Hibernate,..). Sadly I didn't get the full potential of it in any way but for our purposes it was
enough, adaptable to launch jobs asynchronously from within a JSP or any technology at the view layer.
I think you must read requirements, usefulness, learning curve,etc of both projects to decide properly: