private int createSchedule(JobRequest jr, DbConn cnx)
{
JobDef jobDef = null;
try
{
jobDef = JobDef.select_key(cnx, jr.getApplicationName());
}
catch (NonUniqueResultException ex)
{
jqmlogger.error("There are multiple Job definition named " + jr.getApplicationName() + ". Inconsistent configuration.");
closeQuietly(cnx);
throw new JqmInvalidRequestException("There are multiple Job definition named " + jr.getApplicationName());
}
catch (NoResultException ex)
{
jqmlogger.error("Job definition named " + jr.getApplicationName() + " does not exist");
closeQuietly(cnx);
throw new JqmInvalidRequestException("no job definition named " + jr.getApplicationName());
}
Integer queueId = null;
if (jr.getQueueName() != null)
{
queueId = cnx.runSelectSingle("q_select_by_key", 1, Integer.class, jr.getQueueName());
}
return ScheduledJob.create(cnx, jr.getRecurrence(), jobDef.getId(), queueId, jr.getPriority(), jr.getParameters());
}