private int createSchedule(JobRequest jr, DbConn cnx) { // The job def 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()); } // The queue Integer queueId = null; // No override = use JD queue. if (jr.getQueueName() != null) { // use requested key if given. queueId = cnx.runSelectSingle("q_select_by_key", 1, Integer.class, jr.getQueueName()); } // The new schedule return ScheduledJob.create(cnx, jr.getRecurrence(), jobDef.getId(), queueId, jr.getPriority(), jr.getParameters()); }
@Override public int enqueue(JobRequest runRequest) jqmlogger.trace("BEGINING ENQUEUE - request is for application name " + runRequest.getApplicationName()); if ((runRequest.getApplicationName() == null || runRequest.getApplicationName().trim().isEmpty()) && runRequest.getScheduleId() == null) jobDef = JobDef.select_key(cnx, runRequest.getApplicationName()); "There are multiple Job definition named " + runRequest.getApplicationName() + ". Inconsistent configuration."); closeQuietly(cnx); throw new JqmInvalidRequestException("There are multiple Job definition named " + runRequest.getApplicationName()); jqmlogger.error("Job definition named " + runRequest.getApplicationName() + " does not exist"); closeQuietly(cnx); throw new JqmInvalidRequestException("no job definition named " + runRequest.getApplicationName());