Implement allocation-friendly method to get user count in SimpUserRegistry

SPR-14930
This commit is contained in:
Christoph Dreis
2016-11-21 21:02:10 +01:00
parent da63898d5f
commit a929e9ccaa
6 changed files with 37 additions and 10 deletions

View File

@@ -141,6 +141,11 @@ public class DefaultSimpUserRegistry implements SimpUserRegistry, SmartApplicati
return new HashSet<>(this.users.values());
}
@Override
public int getUserCount() {
return this.users.size();
}
public Set<SimpSubscription> findSubscriptions(SimpSubscriptionMatcher matcher) {
Set<SimpSubscription> result = new HashSet<>();
for (LocalSimpSession session : this.sessions.values()) {

View File

@@ -57,6 +57,7 @@ public class DefaultSimpUserRegistryTests {
SimpUser simpUser = registry.getUser("joe");
assertNotNull(simpUser);
assertEquals(1, registry.getUserCount());
assertEquals(1, simpUser.getSessions().size());
assertNotNull(simpUser.getSession("123"));
}
@@ -82,6 +83,7 @@ public class DefaultSimpUserRegistryTests {
SimpUser simpUser = registry.getUser("joe");
assertNotNull(simpUser);
assertEquals(1, registry.getUserCount());
assertEquals(3, simpUser.getSessions().size());
assertNotNull(simpUser.getSession("123"));
assertNotNull(simpUser.getSession("456"));