Implement allocation-friendly method to get user count in SimpUserRegistry

SPR-14930
(cherry picked from commit a929e9c)
This commit is contained in:
Christoph Dreis
2016-11-21 21:02:10 +01:00
committed by Juergen Hoeller
parent ac30bcb0eb
commit 8de100b116
7 changed files with 48 additions and 16 deletions

View File

@@ -141,6 +141,11 @@ public class DefaultSimpUserRegistry implements SimpUserRegistry, SmartApplicati
return new HashSet<SimpUser>(this.users.values());
}
@Override
public int getUserCount() {
return this.users.size();
}
public Set<SimpSubscription> findSubscriptions(SimpSubscriptionMatcher matcher) {
Set<SimpSubscription> result = new HashSet<SimpSubscription>();
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"));