В настоящее время я изучаю, как я мог бы в конечном итоге создать веб-приложение, которое могло бы отслеживать запланированные задания, которые выполняются на веб-сайте. Он основан на ATG, и я просматривал множество компонентов OOTB, и я думал, что достиг чего-то с этим, однако мне действительно не хватает знаний о ATG, так как я студент, который только действительно смотрел на это должным образом в течение 1/2 месяцев.
Моя текущая мысль состоит в том, чтобы подключить мой пользовательский код к performScheduledTask, расширив SingletonSchedulableService, однако все текущие запланированные задачи расширяют 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();
}
}
В данный момент я немного растерялся, так как я никогда не делал веб-приложение полностью самостоятельно, не говоря уже о том, чтобы подключить его к этим запланированным заданиям, поэтому любая помощь будет очень признательна. Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.