【发布时间】:2015-10-26 12:24:53
【问题描述】:
我目前正在研究如何最终创建一个能够监控在网站上运行的计划作业的 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();
}
}
我现在有点迷茫,因为我从来没有完全自己完成过一个网络应用程序,更不用说将它连接到这些预定的作业中,所以非常感谢任何帮助。如果您需要任何额外的信息,请告诉我。
【问题讨论】:
标签: java scheduled-tasks atg oracle-commerce