Commit 68a7d8a3 by Tuomas Riihimäki

Only add User session container if container was not found

1 parent 71dd6834
......@@ -28,6 +28,8 @@ import javax.annotation.security.RolesAllowed;
import javax.ejb.ConcurrencyManagement;
import javax.ejb.ConcurrencyManagementType;
import javax.ejb.LocalBean;
import javax.ejb.Lock;
import javax.ejb.LockType;
import javax.ejb.Singleton;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
......@@ -47,26 +49,26 @@ import fi.codecrew.moya.enums.apps.UserPermission;
@ConcurrencyManagement(ConcurrencyManagementType.BEAN)
@TransactionAttribute(TransactionAttributeType.SUPPORTS)
@DeclareRoles({ UserPermission.S_MANAGE_HTTP_SESSION })
@Lock(LockType.READ)
public class SessionMgmtBean implements SessionMgmtBeanLocal {
/**
* Default constructor.
*/
public SessionMgmtBean() {
// TODO Auto-generated constructor stub
}
private final ConcurrentHashMap<String, UserContainer> sessionUsers = new ConcurrentHashMap<>();
private final Set<HttpSession> sessions = Collections.newSetFromMap(new ConcurrentHashMap<HttpSession, Boolean>());
@SuppressWarnings("unused")
private static final Logger logger = LoggerFactory.getLogger(SessionMgmtBean.class);
/**
* Default constructor.
*/
public SessionMgmtBean() {
}
@Override
public void updateSessionUser(String sessionId, String user) {
if (!sessionUsers.containsKey(sessionId)) {
sessionUsers.put(sessionId, new UserContainer(BortalLocalContextHolder.getHostname(), user));
sessionUsers.putIfAbsent(sessionId, new UserContainer(BortalLocalContextHolder.getHostname(), user));
}
}
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!