diff --git a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/RoomsManager.java b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/RoomsManager.java index 05c9c752d68c4dc9a61a38f0bcfac459de007af2..476ffd1b579e133b49eae195c9ed9de7fe8c515c 100755 --- a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/RoomsManager.java +++ b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/RoomsManager.java @@ -56,11 +56,19 @@ public class RoomsManager { log.debug("Remove room {}", name); Room room = rooms.remove(name); if (checkEvtListener() && room != null) { + room.endAndKickAll(); conferenceEventListener.ended(room); log.debug("Notified event listener of conference end"); } } + public void destroyAllRooms() { + for (Map.Entry<String,Room> entry : rooms.entrySet()) { + Room room = entry.getValue(); + room.endAndKickAll(); + } + } + private boolean checkEvtListener() { return conferenceEventListener != null; } diff --git a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsApplication.java b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsApplication.java index e51380878a7193ac962bc530c53a3fdee11a0903..b126cabce4229861eae46462ebcd102f2aac6c60 100755 --- a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsApplication.java +++ b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsApplication.java @@ -45,6 +45,10 @@ public class ParticipantsApplication { return true; } + public void destroyAllRooms() { + roomsManager.destroyAllRooms(); + } + public boolean hasRoom(String name) { return roomsManager.hasRoom(name); }