From 24c9c734c009888096d38d51a79f4b974e6a6386 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Wed, 18 Sep 2013 13:39:24 +0200 Subject: [PATCH] OO-781: only update the last usage date every minute --- .../java/org/olat/repository/RepositoryManager.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/olat/repository/RepositoryManager.java b/src/main/java/org/olat/repository/RepositoryManager.java index 23cffa66ab7..1b84b52097b 100644 --- a/src/main/java/org/olat/repository/RepositoryManager.java +++ b/src/main/java/org/olat/repository/RepositoryManager.java @@ -819,10 +819,17 @@ public class RepositoryManager extends BasicManager { */ public RepositoryEntry setLastUsageNowFor(final RepositoryEntry re) { if (re == null) return null; + Date newUsage = new Date(); + Date lastUsage = re.getLastUsage(); + //update every minute and not shorter + if(lastUsage != null && (newUsage.getTime() - lastUsage.getTime()) < 60000) { + return re; + } + RepositoryEntry reloadedRe = loadForUpdate(re); - reloadedRe.setLastUsage(new Date()); - RepositoryEntry updatedRe = DBFactory.getInstance().getCurrentEntityManager().merge(reloadedRe); - DBFactory.getInstance().commit(); + reloadedRe.setLastUsage(newUsage); + RepositoryEntry updatedRe = dbInstance.getCurrentEntityManager().merge(reloadedRe); + dbInstance.commit(); return updatedRe; } -- GitLab