Quartz vs Java EE 7 scheduler

2020-08-16 17:12发布

问题:


I'm a java EE developer which has used until now frameworks like Quartz to schedule tasks. I can see that Java EE 7 features a ManagedScheduledExecutorService to schedule single or repeating tasks. As I have never used in real projects this new features I wonder if there are still advantages of using Quartz (or others) when you have a portable way to do it ?
Thanks!

回答1:

I believe that in future projects, there's really no need to use third-party libraries. Java EE 7 is full of scheduling features. Besides the new ManagedScheduledExecutorService, there's already the Schedule annotation for single and periodic repeating tasks and the Timeout annotation to create timers programmatically. IMO the new managed scheduled service is better suited for single delayed tasks or to create a job chain with delays betweens specific tasks.

You can find more about Java EE Timer Service (Schedule and Timeout) Java EE 6 or Java EE 7.

On a side note, if you ever try clustering your application, it's relatively easy to setup Schedule-like timers to run globally, instead of once per node - which is another plus.