[Yanel-commits] rev 47099 - in public/yanel/trunk/src:
impl/java/org/wyona/yanel/impl/scheduler
webapp/src/java/org/wyona/yanel/servlet
michi at wyona.com
michi at wyona.com
Sun Jan 17 14:35:04 CET 2010
Author: michi
Date: 2010-01-17 14:35:03 +0100 (Sun, 17 Jan 2010)
New Revision: 47099
Modified:
public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/scheduler/QuartzSchedulerUtil.java
public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
add realm to job context such that job can access realm
Modified: public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/scheduler/QuartzSchedulerUtil.java
===================================================================
--- public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/scheduler/QuartzSchedulerUtil.java 2010-01-17 12:05:08 UTC (rev 47098)
+++ public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/scheduler/QuartzSchedulerUtil.java 2010-01-17 13:35:03 UTC (rev 47099)
@@ -13,6 +13,8 @@
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
+import org.wyona.yanel.core.map.Realm;
+
/**
*
*/
@@ -24,10 +26,11 @@
* Schedule jobs based on XML configuration
* @param scheduler Scheduler
* @param doc XML document containing jobs configuration
- * @param groupName Group name, e.g. realm ID
+ * @param realm Realm
*/
- public static void schedule(Scheduler scheduler, Document doc, String groupName) throws Exception {
- log.info("Add jobs for group '" + groupName + "' to scheduler.");
+ public static void schedule(Scheduler scheduler, Document doc, Realm realm) throws Exception {
+ String groupName = realm.getID();
+ log.info("Add jobs for group/realm '" + groupName + "' to scheduler.");
Element jobsElement = (Element) doc.getDocumentElement().getElementsByTagName("jobs").item(0);
String enabled = jobsElement.getAttribute("enabled");
@@ -43,6 +46,7 @@
log.info("Add job with class: " + jobE.getAttribute("class"));
String jobName = jobE.getAttribute("name");
JobDetail jobDetail = new JobDetail(jobName, groupName, Class.forName(jobE.getAttribute("class")));
+ jobDetail.getJobDataMap().put("realm", realm);
Element triggerElement = (Element) jobE.getElementsByTagName("trigger").item(0);
Modified: public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
===================================================================
--- public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java 2010-01-17 12:05:08 UTC (rev 47098)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java 2010-01-17 13:35:03 UTC (rev 47099)
@@ -193,7 +193,7 @@
if (realms[i].getRepository().existsNode(schedulerJobsPath)) {
log.debug("Scheduler jobs config found for realm: " + realms[i].getRepository().getID());
try {
- org.wyona.yanel.impl.scheduler.QuartzSchedulerUtil.schedule(scheduler, XMLHelper.readDocument(realms[i].getRepository().getNode(schedulerJobsPath).getInputStream()), realms[i].getRepository().getID());
+ org.wyona.yanel.impl.scheduler.QuartzSchedulerUtil.schedule(scheduler, XMLHelper.readDocument(realms[i].getRepository().getNode(schedulerJobsPath).getInputStream()), realms[i]);
} catch(Exception e) {
log.error(e, e); // INFO: Log error, but otherwise ignore and keep going ...
}
More information about the Yanel-commits
mailing list