[cvs]
expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/utility
JobHandler.java
JCorporate Ltd
jcorp at jcorp2.servlets.net
Wed May 12 17:32:58 PDT 2004
Update of /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/utility
In directory jcorp2.servlets.net:/tmp/cvs-serv17415/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/utility
Modified Files:
JobHandler.java
Log Message:
deleting an entry in from JobQueue did not remove it from the crontab. It does now.
Index: JobHandler.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/utility/JobHandler.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -C2 -d -r1.25 -r1.26
*** JobHandler.java 11 Feb 2004 06:14:08 -0000 1.25
--- JobHandler.java 13 May 2004 00:32:56 -0000 1.26
***************
*** 960,964 ****
myServer.start();
}
! });
myServer.setCronAlarmEntry(cronID);
--- 960,964 ----
myServer.start();
}
! }, myServer.getJobNumber());
myServer.setCronAlarmEntry(cronID);
***************
*** 1018,1022 ****
myServer.run();
}
! });
myServer.setCronAlarmEntry(cronID);
--- 1018,1022 ----
myServer.run();
}
! }, myServer.getJobNumber());
myServer.setCronAlarmEntry(cronID);
***************
*** 1060,1063 ****
--- 1060,1066 ----
cleanFinishedJobs();
}
+
+ removeCronJobForRemovedQueueEntry();
+
} catch (DBException de) {
log.error(de);
***************
*** 1088,1091 ****
--- 1091,1113 ----
}
}
+
+ /**
+ * Iterate through all crontab entries, checking to make sure they exist in the JobQueue. If it doesn't
+ * (probably because the JobQueue entry has been deleted), remove the crontab entry
+ *
+ * @throws DBException
+ */
+ private void removeCronJobForRemovedQueueEntry() throws DBException {
+ JobQueue jobQueue = new JobQueue();
+ for (Iterator i = m_cronMgr.getAllEntries().iterator(); i.hasNext();) {
+ CrontabEntry oneCronEntry = (CrontabEntry) i.next();
+
+ jobQueue.clear();
+ jobQueue.setField(JobQueue.FLD_JOBNUMBER, oneCronEntry.getJobNumber());
+ if (!jobQueue.find()) {
+ m_cronMgr.removeCrontabEntry(oneCronEntry);
+ }
+ }
+ }
private void doOperation(String oper) throws DBException
More information about the cvs
mailing list