Hi Maxim, I have seen an example where we store the firstname/lastname in the database instead of the session of the "Client".
RoomClientPanel.java::43 User u = getBean(UserDao.class).get(c.getUserId()); Just please keep in mind that access the database is always expensive. It's not really suited for our real-time communication conference room. For instance if there are 500 users in a room you have 500 times a select user.* from users where id = xyz. And that is for every user that enters the room. So 5 users entering with 500 users in the room = 5x500 = 2500 select queries. 100 users entering with 200 users in the room = 100 x 200 = 20000 selection queries. Just for entering the room. It's just like one of those lessons learnt from past OpenMeetings implementations: Do not access the database during the real-time communication part of a conference room. It just doesn't scale. Session vars should be really in the session, not in the database. But it's really more generic: The real-time communication tasks like: userlist, activities, whiteboard events => There should be really no link from those components into the Database. And if so you have to be really careful to make it not interrupting, async and the impact of scaling with 500++ users in a conference room. Thanks, Sebastian -- Sebastian Wagner https://twitter.com/#!/dead_lock [email protected]
