try jd = JobDef.select_key(cnx, name);
try jd = JobDef.select_key(cnx, name);
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()); }
Queue.select(cnx, "q_select_by_key", "NormalQueue"); JobDef jd1 = JobDef.select_key(cnx, "Fibo"); JobDef jd2 = JobDef.select_key(cnx, "Geo"); JobDef jd3 = JobDef.select_key(cnx, "DateTime");
@Test public void testImportThenReimportJobDefWithPrms() { // Init the default queue (don't start the engine!) Helpers.updateConfiguration(cnx); // First import XmlJobDefParser.parse("target/payloads/jqm-test-xml/xmltest.xml", cnx); cnx.commit(); List<JobDef> jd = JobDef.select(cnx, "jd_select_all"); Assert.assertEquals(2, jd.size()); JobDef fibo = JobDef.select_key(cnx, "Fibo"); Assert.assertEquals("Fibo", fibo.getApplicationName()); Assert.assertEquals("1", fibo.getParametersMap(cnx).get("p1")); // Second import - parameters are different, note 3 instead of 1 XmlJobDefParser.parse("target/payloads/jqm-test-xml/xmltest_np.xml", cnx); cnx.commit(); jd = JobDef.select(cnx, "jd_select_all"); fibo = JobDef.select_key(cnx, "Fibo"); Assert.assertEquals(2, jd.size()); Assert.assertNotNull(fibo); Assert.assertEquals("Fibo", fibo.getApplicationName()); Assert.assertEquals("3", fibo.getParametersMap(cnx).get("p1")); }
Queue.select(cnx, "q_select_by_key", "NormalQueue"); JobDef jd1 = JobDef.select_key(cnx, "Fibo"); JobDef jd2 = JobDef.select_key(cnx, "Geo"); JobDef jd3 = JobDef.select_key(cnx, "DateTime");
jobDef = JobDef.select_key(cnx, runRequest.getApplicationName());
@Test public void testImportQueue() throws Exception { CreationTools.createJobDef(null, true, "com.enioka.jqm.tests.App", null, "jqm-tests/jqm-test-fibo/target/test.jar", TestHelpers.qVip, 42, "Fibo", null, "Franquin", "ModuleMachin", "other1", "other2", false, cnx); CreationTools.createJobDef(null, true, "App", null, "jqm-tests/jqm-test-geo/target/test.jar", TestHelpers.qVip, 42, "Geo", null, "Franquin", "ModuleMachin", "other1", "other2", false, cnx); CreationTools.createJobDef(null, true, "App", null, "jqm-tests/jqm-test-datetimemaven/target/test.jar", TestHelpers.qNormal, 42, "DateTime", null, "Franquin", "ModuleMachin", "other", "other", false, cnx); XmlQueueParser.parse("target/payloads/jqm-test-xml/xmlqueuetest.xml", cnx); try { Queue.select(cnx, "q_select_by_key", "XmlQueue"); Queue.select(cnx, "q_select_by_key", "XmlQueue2"); JobDef jd1 = JobDef.select_key(cnx, "Fibo"); JobDef jd2 = JobDef.select_key(cnx, "Geo"); JobDef jd3 = JobDef.select_key(cnx, "DateTime"); Assert.assertEquals("XmlQueue", jd1.getQueue(cnx).getName()); Assert.assertEquals("XmlQueue", jd2.getQueue(cnx).getName()); Assert.assertEquals("XmlQueue2", jd3.getQueue(cnx).getName()); } catch (NoResultException e) { Assert.fail("missing configuration element"); } }
@Test public void testUpdateJobDef() { // Init the default queue (don't start the engine!) Helpers.updateConfiguration(cnx); XmlJobDefParser.parse("target/payloads/jqm-test-xml/xmltest.xml", cnx); cnx.commit(); // Sanity check List<JobDef> jd = JobDef.select(cnx, "jd_select_all"); JobDef fibo = JobDef.select_key(cnx, "Fibo"); Assert.assertEquals(2, jd.size()); Assert.assertEquals("Fibo", fibo.getApplicationName()); Assert.assertEquals("vdjvkdv", fibo.getKeyword1()); Assert.assertEquals("sgfbgg", fibo.getKeyword2()); Assert.assertEquals("jvhkdfl", fibo.getKeyword3()); // Import and therefore update the job definitions. XmlJobDefParser.parse("target/payloads/jqm-test-xml/xmltest_update.xml", cnx); cnx.commit(); jd = JobDef.select(cnx, "jd_select_all"); fibo = JobDef.select_key(cnx, "Fibo"); Assert.assertEquals(2, jd.size()); Assert.assertEquals("Fibo", fibo.getApplicationName()); Assert.assertEquals("NEWVALUE", fibo.getKeyword1()); Assert.assertEquals("", fibo.getKeyword2() == null ? "" : fibo.getKeyword2()); Assert.assertEquals(null, fibo.getKeyword3()); }
try fibo = JobDef.select_key(cnx, "Fibo"); JobDef.select_key(cnx, "Geo"); JobDef.select_key(cnx, "DateTime"); JobDef.select_key(cnx, "DateTime2");
@Test public void testXmlParser() { // Init the default queue (don't start the engine!) Helpers.updateConfiguration(cnx); XmlJobDefParser.parse("target/payloads/jqm-test-xml/xmltest.xml", cnx); cnx.commit(); List<JobDef> jd = JobDef.select(cnx, "jd_select_all"); JobDef fibo = JobDef.select_key(cnx, "Fibo"); Assert.assertEquals(2, jd.size()); Assert.assertEquals("Fibo", fibo.getApplicationName()); Assert.assertEquals(true, fibo.isCanBeRestarted()); Assert.assertEquals("com.enioka.jqm.tests.App", fibo.getJavaClassName()); Assert.assertEquals(TestHelpers.qVip, fibo.getQueue()); Assert.assertEquals("ApplicationTest", fibo.getApplication()); Assert.assertEquals("TestModuleRATONLAVEUR", fibo.getModule()); Assert.assertEquals(false, fibo.isHighlander()); Assert.assertEquals("1", fibo.getParametersMap(cnx).get("p1")); Assert.assertEquals("2", fibo.getParametersMap(cnx).get("p2")); Assert.assertEquals("com.enioka.jqm.tests.App", fibo.getJavaClassName()); Assert.assertEquals("com.enioka.jqm.tests.App", fibo.getJavaClassName()); }