My application currently instantiates and starts a default scheduler during application startup using:
@Override
public void contextInitialized(ServletContextEvent arg0) {
try {
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
scheduler.start();
} catch (SchedulerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
This logic runs on a cloud machine as well as on local development machines, and quartz.properties is currently set to non-clustering mode. The application is also using JDBC Job Store.
I'm concerned about having one scheduler instance for each machine- please give me recommendations on how to manage Quartz Scheduler on multiple machines. Does this use case require clustering?
I scheduled a test trigger to run every minute. While there haven't been duplicate job executions, I've noticed a few missed firings that were never counted as misfires.