in src/main/groovy/grails/plugins/quartz/JobDetailFactoryBean.java [52:76]
public void afterPropertiesSet() {
String name = jobClass.getFullName();
if (name == null) {
throw new IllegalStateException("name is required");
}
String group = jobClass.getGroup();
if (group == null) {
throw new IllegalStateException("group is required");
}
// Consider the concurrent flag to choose between stateful and stateless job.
Class<? extends GrailsJobFactory.GrailsJob> clazz =
jobClass.isConcurrent() ? GrailsJobFactory.GrailsJob.class : GrailsJobFactory.StatefulGrailsJob.class;
// Build JobDetail instance.
jobDetail =
newJob(clazz)
.withIdentity(name, group)
.storeDurably(jobClass.isDurability())
.requestRecovery(jobClass.isRequestsRecovery())
.usingJobData(JOB_NAME_PARAMETER, name)
.withDescription(jobClass.getDescription())
.build();
}