public void update(DbConn cnx) { if (this.id == null) { this.id = create(cnx, name, description, defaultQueue); } else { cnx.runUpdate("q_update_all_fields_by_id", defaultQueue, description, name, id); } } }
@Override public void stop() { jqmlogger.info("Poller " + queue.getName() + " has received a stop order"); run = false; loop.release(); }
private static Element getQueueElement(Queue q, DbConn cnx) { Element queue = new Element("queue"); Element name = new Element("name"); name.setText(q.getName()); Element description = new Element("description"); description.setText(q.getDescription()); Element timeToLive = new Element("timeToLive"); timeToLive.setText(q.getTimeToLive() + ""); queue.addContent(name); queue.addContent(description); queue.addContent(timeToLive); Element jobs = new Element("jobs"); queue.addContent(jobs); List<JobDef> jds = JobDef.select(cnx, "jd_select_by_queue", q.getId()); for (JobDef j : jds) { Element job = new Element("applicationName"); job.setText(j.getApplicationName()); jobs.addContent(job); } return queue; }
private static com.enioka.jqm.api.Queue getQueue(Queue queue) { com.enioka.jqm.api.Queue q = new com.enioka.jqm.api.Queue(); q.setDescription(queue.getDescription()); q.setId(queue.getId()); q.setName(queue.getName()); return q; }
if (q == null) q = new Queue(); q.setName(qElement.getElementsByTagName("name").item(0).getTextContent()); q.setDescription(qElement.getElementsByTagName("description").item(0).getTextContent()); if (qElement.getElementsByTagName("timeToLive").getLength() == 1) q.setTimeToLive(Integer.parseInt(qElement.getElementsByTagName("timeToLive").item(0).getTextContent())); q.update(cnx); cnx.commit(); String appName = appElement.getTextContent(); jqmlogger.debug("Default queue of the job " + appName + " must be changed"); cnx.runUpdate("jd_update_set_queue_by_key", q.getId(), appName);
if (i == 0L) Queue.create(cnx, "DEFAULT", "default queue", true); jqmlogger.info("A default queue was created in the configuration"); q = Queue.select(cnx, "q_select_all").get(0); cnx.runUpdate("q_update_default_none"); cnx.runUpdate("q_update_default_by_id", q.getId()); jqmlogger.info("Queue " + q.getName() + " was modified to become the default queue as there were multiple default queues"); q = Queue.select(cnx, "q_select_all").get(0); cnx.runUpdate("q_update_default_none"); cnx.runUpdate("q_update_default_by_id", q.getId()); jqmlogger.info("Queue " + q.getName() + " was modified to become the default queue as there were multiple default queues");
try queueId = Queue.select_key(cnx, qname).getId(); queueId = Queue.create(cnx, qname, "Created from a jobdef import. Description should be set later", false); createdQueues.put(qname, queueId);
@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"); } }
@Override public List<JobInstance> poll(DbConn cnx, Queue queue, int headSize) { return JobInstance.select(cnx, "ji_select_poll", queue.getId(), headSize); } }
if (q == null) q = new Queue(); q.setName(qElement.getElementsByTagName("name").item(0).getTextContent()); q.setDescription(qElement.getElementsByTagName("description").item(0).getTextContent()); q.setDefaultQueue(dqName.equals(name)); q.update(cnx); int queueId = Queue.select_key(cnx, name).getId();
static Queue findQueue(String qName, DbConn cnx) { List<Queue> jj = Queue.select(cnx, "q_select_by_key", qName); if (jj.size() == 0) { return null; } return jj.get(0); } }
@Test public void testImportJobdefWithQueue() { // Init the default queue (don't start the engine!) Helpers.updateConfiguration(cnx); XmlJobDefParser.parse("target/payloads/jqm-test-xml/xmltestnewqueue.xml", cnx); cnx.commit(); List<JobDef> jd = JobDef.select(cnx, "jd_select_all"); Assert.assertEquals(2, jd.size()); // Was the queue created (and only once)? Queue q = Queue.select_key(cnx, "NewQueue"); Assert.assertEquals("Created from a jobdef import. Description should be set later", q.getDescription()); cnx.close(); }
static Queue map(ResultSet rs, int colShift) { try { Queue tmp = new Queue(); tmp.id = rs.getInt(1 + colShift); if (tmp.id == 0) { return null; } tmp.defaultQueue = rs.getBoolean(2 + colShift); tmp.description = rs.getString(3 + colShift); tmp.name = rs.getString(4 + colShift); return tmp; } catch (SQLException e) { throw new DatabaseException(e); } }
if (i == 0L) Queue.create(cnx, "DEFAULT", "default queue", true); jqmlogger.info("A default queue was created in the configuration"); q = Queue.select(cnx, "q_select_all").get(0); cnx.runUpdate("q_update_default_none"); cnx.runUpdate("q_update_default_by_id", q.getId()); jqmlogger.info("Queue " + q.getName() + " was modified to become the default queue as there were multiple default queues"); q = Queue.select(cnx, "q_select_all").get(0); cnx.runUpdate("q_update_default_none"); cnx.runUpdate("q_update_default_by_id", q.getId()); jqmlogger.info("Queue " + q.getName() + " was modified to become the default queue as there were multiple default queues");
try queueId = Queue.select_key(cnx, qname).getId(); queueId = Queue.create(cnx, qname, "Created from a jobdef import. Description should be set later", false); createdQueues.put(qname, queueId);
Queue.select(cnx, "q_select_by_key", "VIPQueue"); Queue.select(cnx, "q_select_by_key", "NormalQueue"); JobDef jd3 = JobDef.select_key(cnx, "DateTime"); Assert.assertEquals("VIPQueue", jd1.getQueue(cnx).getName()); Assert.assertEquals("VIPQueue", jd2.getQueue(cnx).getName()); Assert.assertEquals("NormalQueue", jd3.getQueue(cnx).getName());
@Override public List<JobInstance> poll(DbConn cnx, Queue queue, int headSize) { return JobInstance.select(cnx, "ji_select_poll", queue.getId(), headSize); } }
if (q == null) q = new Queue(); q.setName(qElement.getElementsByTagName("name").item(0).getTextContent()); q.setDescription(qElement.getElementsByTagName("description").item(0).getTextContent()); q.setDefaultQueue(dqName.equals(name)); q.update(cnx); int queueId = Queue.select_key(cnx, name).getId();
static Queue findQueue(String qName, DbConn cnx) { List<Queue> jj = Queue.select(cnx, "q_select_by_key", qName); if (jj.size() == 0) { return null; } return jj.get(0); } }
if (q == null) q = new Queue(); q.setName(qElement.getElementsByTagName("name").item(0).getTextContent()); q.setDescription(qElement.getElementsByTagName("description").item(0).getTextContent()); if (qElement.getElementsByTagName("timeToLive").getLength() == 1) q.setTimeToLive(Integer.parseInt(qElement.getElementsByTagName("timeToLive").item(0).getTextContent())); q.update(cnx); cnx.commit(); String appName = appElement.getTextContent(); jqmlogger.debug("Default queue of the job " + appName + " must be changed"); cnx.runUpdate("jd_update_set_queue_by_key", q.getId(), appName);