我有一个Spring控制器,用于向父项添加不同类型的元素,当我更新或添加新项时,我需要更新其父项的最后修改日期。我的问题是我们多次调用此更新上次修改日期服务,我想避免这种情况。 是否有更好或更优雅的方法来解决这个问题,然后是计时器(Timer,TimerTask)或 ScheduledFuture,ScheduledThreadPoolExecutor?
Timer updateLastModifiedDateTimer = timers.get(parentkey);
if (updateLastModifiedDateTimer != null) {
updateLastModifiedDateTimer.cancel();
}
TimerTask updateLastModifiedDateTask = new TimerTask() {
public void run() {
getPresentationDAO().updateLastModifiedDate(owner, parentkey, System.currentTimeMillis());
}
};
updateLastModifiedDateTimer = new Timer(true);
updateLastModifiedDateTimer.schedule(updateLastModifiedDateTask, updateDelay);
timers.put(parentkey, updateLastModifiedDateTimer);
我使用ScheduledFuture&的ScheduledThreadPoolExecutor。