@Override public void stop() { jqmlogger.info("Poller " + queue.getName() + " has received a stop order"); run = false; loop.release(); }
@Override public void stop() { jqmlogger.info("Poller " + queue.getName() + " has received a stop order"); run = false; loop.release(); }
jqmlogger.info("Waiting for the end of {} jobs on queue {} - timeout is {} ms", actualNbThread, this.queue.getName(), timeOutMs);
jqmlogger.info("Waiting for the end of {} jobs on queue {} - timeout is {} ms", actualNbThread, this.queue.getName(), timeOutMs);
private void registerMBean() { try { if (this.engine.loadJmxBeans) { MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); name = new ObjectName( "com.enioka.jqm:type=Node.Queue,Node=" + this.engine.getNode().getName() + ",name=" + this.queue.getName()); // Unregister MBean if it already exists. This may happen during frequent DP modifications. try { mbs.getMBeanInfo(name); mbs.unregisterMBean(name); } catch (InstanceNotFoundException e) { // Nothing to do, this should be the normal case. } mbs.registerMBean(this, name); } } catch (Exception e) { throw new JqmInitError("Could not create JMX beans", e); } }
private void registerMBean() { try { if (this.engine.loadJmxBeans) { MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); name = new ObjectName( "com.enioka.jqm:type=Node.Queue,Node=" + this.engine.getNode().getName() + ",name=" + this.queue.getName()); // Unregister MBean if it already exists. This may happen during frequent DP modifications. try { mbs.getMBeanInfo(name); mbs.unregisterMBean(name); } catch (InstanceNotFoundException e) { // Nothing to do, this should be the normal case. } mbs.registerMBean(this, name); } } catch (Exception e) { throw new JqmInitError("Could not create JMX beans", e); } }
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 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; }
@Override public String getJmxBeanName() { return "com.enioka.jqm:type=Node.Queue.JobInstance,Node=" + this.engine.getNode().getName() + ",Queue=" + this.qp.getQueue().getName() + ",name=" + this.ji.getId(); }
@Override public String getJmxBeanName() { return "com.enioka.jqm:type=Node.Queue.JobInstance,Node=" + this.engine.getNode().getName() + ",Queue=" + this.qp.getQueue().getName() + ",name=" + this.ji.getId(); }
void applyDeploymentParameter(DeploymentParameter dp) { this.pollingInterval = dp.getPollingInterval(); this.maxNbThread = dp.getEnabled() ? dp.getNbThread() : 0; this.dpId = dp.getId(); jqmlogger.info("Engine {}" + " will poll JobInstances on queue {} every {} s", engine.getNode().getName(), queue.getName(), pollingInterval / 1000); this.threadresourceManagerConfiguration.addParameter("com.enioka.jqm.rm.quantity.quantity", "" + this.maxNbThread); this.resourceManagers.get(0).refreshConfiguration(this.threadresourceManagerConfiguration); }
void applyDeploymentParameter(DeploymentParameter dp) { this.pollingInterval = dp.getPollingInterval(); this.maxNbThread = dp.getEnabled() ? dp.getNbThread() : 0; this.dpId = dp.getId(); jqmlogger.info("Engine {}" + " will poll JobInstances on queue {} every {} s", engine.getNode().getName(), queue.getName(), pollingInterval / 1000); this.threadresourceManagerConfiguration.addParameter("com.enioka.jqm.rm.quantity.quantity", "" + this.maxNbThread); this.resourceManagers.get(0).refreshConfiguration(this.threadresourceManagerConfiguration); }
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; }
addTextElementToParentElement(jobDefinition, "queue", j.getQueue(cnx).getName()); addTextElementToParentElement(jobDefinition, "description", j.getDescription() == null ? "" : j.getDescription()); addTextElementToParentElement(jobDefinition, "canBeRestarted", j.isCanBeRestarted() ? "true" : "false");
addTextElementToParentElement(jobDefinition, "queue", j.getQueue(cnx).getName()); addTextElementToParentElement(jobDefinition, "description", j.getDescription() == null ? "" : j.getDescription()); addTextElementToParentElement(jobDefinition, "canBeRestarted", j.isCanBeRestarted() ? "true" : "false");
@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"); } }
/** * Create an History object from a {@link JobInstance}. * */ public static void create(DbConn cnx, JobInstance ji, State finalState, Calendar endDate) { JobDef jd = ji.getJD(); Node n = ji.getNode(); Queue q = ji.getQ(); if (endDate == null) { cnx.runUpdate("history_insert", ji.getId(), jd.getApplication(), jd.getApplicationName(), ji.getAttributionDate(), ji.getEmail(), ji.getCreationDate(), ji.getExecutionDate(), jd.isHighlander(), ji.getApplication(), ji.getKeyword1(), ji.getKeyword2(), ji.getKeyword3(), ji.getModule(), jd.getKeyword1(), jd.getKeyword2(), jd.getKeyword3(), jd.getModule(), n == null ? null : n.getName(), ji.getParentId(), ji.getProgress(), q == null ? null : q.getName(), 0, ji.getSessionID(), finalState.toString(), ji.getUserName(), ji.getJdId(), n == null ? null : n.getId(), ji.getQueue(), ji.isFromSchedule(), ji.getPriority()); } else { cnx.runUpdate("history_insert_with_end_date", ji.getId(), jd.getApplication(), jd.getApplicationName(), ji.getAttributionDate(), ji.getEmail(), endDate, ji.getCreationDate(), ji.getExecutionDate(), jd.isHighlander(), ji.getApplication(), ji.getKeyword1(), ji.getKeyword2(), ji.getKeyword3(), ji.getModule(), jd.getKeyword1(), jd.getKeyword2(), jd.getKeyword3(), jd.getModule(), n.getName(), ji.getParentId(), ji.getProgress(), q.getName(), 0, ji.getSessionID(), finalState.toString(), ji.getUserName(), ji.getJdId(), ji.getNode().getId(), ji.getQueue(), ji.isFromSchedule(), ji.getPriority()); } }
/** * Create an History object from a {@link JobInstance}. * */ public static void create(DbConn cnx, JobInstance ji, State finalState, Calendar endDate) { JobDef jd = ji.getJD(); Node n = ji.getNode(); Queue q = ji.getQ(); if (endDate == null) { cnx.runUpdate("history_insert", ji.getId(), jd.getApplication(), jd.getApplicationName(), ji.getAttributionDate(), ji.getEmail(), ji.getCreationDate(), ji.getExecutionDate(), jd.isHighlander(), ji.getApplication(), ji.getKeyword1(), ji.getKeyword2(), ji.getKeyword3(), ji.getModule(), jd.getKeyword1(), jd.getKeyword2(), jd.getKeyword3(), jd.getModule(), n == null ? null : n.getName(), ji.getParentId(), ji.getProgress(), q == null ? null : q.getName(), 0, ji.getSessionID(), finalState.toString(), ji.getUserName(), ji.getJdId(), n == null ? null : n.getId(), ji.getQueue(), ji.isFromSchedule(), ji.getPriority()); } else { cnx.runUpdate("history_insert_with_end_date", ji.getId(), jd.getApplication(), jd.getApplicationName(), ji.getAttributionDate(), ji.getEmail(), endDate, ji.getCreationDate(), ji.getExecutionDate(), jd.isHighlander(), ji.getApplication(), ji.getKeyword1(), ji.getKeyword2(), ji.getKeyword3(), ji.getModule(), jd.getKeyword1(), jd.getKeyword2(), jd.getKeyword3(), jd.getModule(), n.getName(), ji.getParentId(), ji.getProgress(), q.getName(), 0, ji.getSessionID(), finalState.toString(), ji.getUserName(), ji.getJdId(), ji.getNode().getId(), ji.getQueue(), ji.isFromSchedule(), ji.getPriority()); } }