Quartz Job - grant-guo/Ideas GitHub Wiki

By default, Quartz uses Java reflection to create Job instances.

To bypass this, extend your own Job class, then pass the job instance to a JobFactory when initializing a scheduler like the following code snippet:

class MyJobFactory(private val job: Job) extends JobFactory{
  override def newJob(triggerFiredBundle: TriggerFiredBundle, scheduler: Scheduler): Job = this.job
}

val scheduler = new StdSchedulerFactory(props).getScheduler()
scheduler.setJobFactory(new CacheModeJobFactory(???))
scheduler.start()