Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Batch Scheduling and Batch Job Frameworks for Java Web Application

 
Prince Manchanda
Ranch Hand
Posts: 52
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Respected Experts,

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.

    Thanks and Regards
    P Manchanda
     
    Manu Moreno
    Greenhorn
    Posts: 3
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator

    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:

    http://quartz-scheduler.org/

    http://projects.spring.io/spring-batch/

    Good luck!
     
    Jan Moravec
    Greenhorn
    Posts: 22
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Hi,

    If you need a UI for Quartz scheduler(s), you may want to check the QuartzDesk project that I am the founder of. QuartzDesk provides a UI that allows you to remotely connect to your running Quartz scheduler instances, list their jobs, triggers etc. It captures and persists the job execution history so that you can check what your scheduler did at any time. You can even configure QuartzDesk to intercept log messages produced by the executed jobs and make these stored in the execution history for later review. Monitoring of jobs and triggers is also supported (both poll-based and push-based). You can dynamically add/update/delete jobs and triggers. You will also get visual statistics so that you have some overview of what your jobs did withing the specified time period, e.g. how many times there were executed, how many times their failed, what is the average exec time of your jobs and how this evolves in time etc.

    QuartzDesk runs in any popular servlet container or app server and supports all major DB engines. For a complete list of all features, please refer to this page. There are 3 editions available, one of which (Lite edition) is free.

    Hope this helps.

    Best regards,
    Jan
     
    • Post Reply
    • Bookmark Topic Watch Topic
    • New Topic