更新上次修改日期的最佳解决方案 -

时间:2013-01-30 16:21:16

标签: java spring-mvc scheduled-tasks timertask

我有一个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。

0 个答案:

没有答案