Add UserRegistry to store all existing users and UserCleanupJob to periodicly remove expired user #189

Merged
lars.winzer merged 12 commits from feat/user-serverside into main 2026-03-15 20:00:59 +01:00
Showing only changes of commit 68827e177e - Show all commits
@@ -10,12 +10,12 @@ import org.apache.logging.log4j.Logger;
* threshold.
*/
public class UserCleanupJob implements Runnable {
private static final Logger logger = LogManager.getLogger(UserCleanupJob.class);
private final Logger logger;
private final UserRegistry registry;
private final Duration reconnectThreshold;
public UserCleanupJob(UserRegistry registry, Duration reconnectThreshold) {
this.logger = LogManager.getLogger(UserCleanupJob.class);
this.registry = registry;
this.reconnectThreshold = reconnectThreshold;
}
@@ -33,7 +33,8 @@ public class UserCleanupJob implements Runnable {
Instant disconnectedAt = user.getDisconnectedAt().get();
if (disconnectedAt.isBefore(threshold)) {
if (registry.removeIfStillDisconnected(user.getId())) {
logger.info("Removed expired user {} ({})", user.getName(), user.getId().value());
logger.info(
"Removed expired user {} ({})", user.getName(), user.getId().value());
}
}
}