super();
this.registry = registry;
}
public void run() {
EntityDao entityDao = registry.getEntityDao();
long updatedAt = registry.updatedAt;
List<Object[]> arguments = CollectUtils.newArrayList();
for (Map.Entry<String, AccessEntry> entry : registry.entries.entrySet()) {
AccessEntry accessEntry = entry.getValue();
if (accessEntry.accessAt > updatedAt) {
arguments.add(new Object[] { new Date(entry.getValue().accessAt), entry.getKey() });
}
}
if (!arguments.isEmpty()) {
entityDao.executeUpdateHqlRepeatly("update "
+ registry.getSessioninfoBuilder().getSessioninfoClass().getName()
+ " info set info.lastAccessAt=? where info.id=?", arguments);
}
registry.updatedAt = System.currentTimeMillis();
}