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!
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.
来源:https://stackoverflow.com/questions/21598155/quartz-vs-java-ee-7-scheduler