Workflow job scheduling is available for SuperScheduler and SuperWatchdog at http://www.acelet.com/super/SuperScheduler/index.html
SuperScheduler is a full-featured task scheduler for all system and application job scheduling. Super Scheduler is the twin software of Super Watchdog, which is event-action task scheduler for event monitoring. Super Scheduler is entirely written in Java. It is an open source project with GPL license.
I have used Quartz (http://www.opensymphony.com/quartz
/) which is open source in my last project and its performance is good and its easy to implement either as standalone or through servlet web.xml.
Kindly check the feature list at http://www.opensymphony.com/quartz/wikidocs/Features.html
It is possible to schedule any kind of task with this 435 KB of jar file.
For my understanding, Quartz is a library. You need program to use it. SuperScheduler is a system and work out-of-box. You use your mouse to schedule. Your keyboard is necessary if you need input data.
SuperScheduler comes with many pre-defined type of jobs. For example, SSH, SCP. You call EJB by clicking: EasyEJB lists all available methods. You call Webservice by clicking: EasyWebservice lists all available services for you. And more..
Hi Manoj (and everyone else): We're building a scheduler and repository in our test automation platform. We picked Quartz too. From your experience, what are the downsides to using Quartz?
Quartz is pretty good, the only problem I had with it was when its deployed with an app server. Once there is more load on the server it will kill the Quartz thread first to free up the resources. thanks.
It is not fitted for J2EE specification. e.g. You are not allowed to spawn a new thread in web container.
...And yet tens of thousands use Quartz within App Servers every day.
The only App Server that has issues with it is WebSphere - and you can work-around that by setting a startup flag that tells websphere not to worry about it.
The violation of J2EE spec being referred to is that a container-managed component (i.e. an EJB) is not supposed to spawn or manage threads. As long as you don't fire up Quartz from within a SessionBean (for example), you are not violating spec.
Quartz doesn't have direct support for the latter.
One of the primary goals of Quartz is to be embeddable. It is not trying to be an out-of-the-box solution.
The environment we are using is:
Based on the requirement, I need to schedule a job dynamically on the fly.
The input (date & time) will be received from the user on when he would require the job to be fired.
While doing this I am also updating the workflow by calling the do action method.
I need to do all this in one transaction. While the workflow calls and other table updates are happening as part of the transaction,
the quartz job scheduling is not.
Even though an exception is raised, the quartz scheduler schedules the job and committed in the database instead of rolling back.
Firing of job is working fine anyway because it is happening in a separate thread.
Let me know what probably I am doing wrong or missing something.