我目前正在研究如何最终创建一个能够监控在网站上运行的计划作业的 Web 应用程序。它是基于ATG的,我一直在研究很多 OOTB 组件,我认为我已经取得了一些进展,但是我真的缺乏 ATG 知识,因为我是一名实习生,只在 1 年内真正看过它/2个月。
我目前的想法是通过扩展SingletonSchedulableService将我的自定义代码挂钩到performScheduledTask但是所有当前计划的任务都在扩展SingletonSchedulableService并且进入每个(30多个)java文件并更改它们听起来不是一个好主意?我真的不确定。
下面的代码是我想要使用预先存在的performScheduledTask将我自己的代码添加到其中的粗略想法。当调用 doScheduledTask时,我发送一条消息说它正在启动,当它完成时查看是否有错误并发送合适的消息。
public void performScheduledTask(Scheduler scheduler, ScheduledJob job) {
boolean gotLock = false;
try {
gotLock = acquireLock();
if (gotLock) {
if (isLoggingDebug())
try {
startTime= getJobTime();
sendToStart(name, description, id, startTime);
doScheduledTask(scheduler, job);
} catch (Exception e){
errorMsg= e.getMessage();
}
if (mErrorMessage == null) {
endTime= getJobTime();
String msg= "This job completed successfully";
sendToSuccess(name, description, id, endTime, msg);
} else {
endtime = getJobTime();
sendToFail(name, description, id, endtime, msg);
}
} else if (isLoggingDebug())
logDebug("sleeping until next scheduled wakeup.");
} finally {
if (gotLock)
releaseLock();
}
}
我现在有点迷茫,因为我从来没有完全独自完成过一个网络应用程序,更不用说将它连接到这些预定的作业中,所以非常感谢任何帮助。如果您需要任何额外的信息,请告诉我。