I have run into a case where I have to use a persistent Scheduler, since I have a web application that can crash or close due to some problems and might los
@Schedule has nothing to do with the actual executor. The default java executors aren't persistent (maybe there are some app-server specific ones that are), if you want persistence you have to use Quartz for job execution.