You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2017/11/19 08:40:37 UTC
openmeetings git commit: [OPENMEETINGS-1762] simultaneous room enter
should be fixed
Repository: openmeetings
Updated Branches:
refs/heads/4.0.x d69f0a31f -> dce3243f9
[OPENMEETINGS-1762] simultaneous room enter should be fixed
Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/dce3243f
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/dce3243f
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/dce3243f
Branch: refs/heads/4.0.x
Commit: dce3243f97259aa597b33e261c10b2368241e1d9
Parents: d69f0a3
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Sun Nov 19 15:40:26 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Sun Nov 19 15:40:26 2017 +0700
----------------------------------------------------------------------
.../main/java/org/apache/openmeetings/web/app/Application.java | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/dce3243f/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
index ed39cfa..257e074 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
@@ -351,7 +351,7 @@ public class Application extends AuthenticatedWebApplication implements IApplica
return hazelcast.getMap(INVALID_SESSIONS_KEY);
}
- private Map<Long, Set<String>> getRooms() {
+ private IMap<Long, Set<String>> getRooms() {
return hazelcast.getMap(ROOMS_KEY);
}
@@ -597,11 +597,13 @@ public class Application extends AuthenticatedWebApplication implements IApplica
public static Client addUserToRoom(Client c) {
Long roomId = c.getRoom().getId();
log.debug("Adding online room client: {}, room: {}", c.getUid(), roomId);
- Map<Long, Set<String>> rooms = get().getRooms();
+ IMap<Long, Set<String>> rooms = get().getRooms();
+ rooms.lock(roomId);
rooms.putIfAbsent(roomId, new ConcurrentHashSet<String>());
Set<String> set = rooms.get(roomId);
set.add(c.getUid());
rooms.put(roomId, set);
+ rooms.unlock(roomId);
update(c);
return c;
}