@Override public void saveSession(Req req, String sessionId, Map<String, Serializable> session) { Fire.event(Events.SESSION_SAVE, "id", sessionId); SessionHolder holder = sessions.get(sessionId); long refN = holder.refCounter.decrementAndGet(); U.must(refN >= 0, "The session has negative reference counter!"); if (refN == 0) { synchronized (holder) { if (holder.refCounter.get() == 0) { Fire.event(Events.SESSION_SERIALIZE, "id", sessionId); holder.serialized = Msc.serialize(session); holder.session = null; } } } }
@Override public Map<String, Serializable> loadSession(Req req, String sessionId) { Fire.event(Events.SESSION_LOAD, "id", sessionId); SessionHolder holder = sessions.get(sessionId); if (holder.session == null) { synchronized (holder) { if (holder.session == null) { if (holder.serialized != null) { Fire.event(Events.SESSION_DESERIALIZE, "id", sessionId); holder.session = U.cast(Msc.deserialize(holder.serialized)); } else { holder.session = Coll.concurrentMap(); Fire.event(Events.SESSION_CONCURRENT_ACCESS, "id", sessionId); } } } } holder.refCounter.incrementAndGet(); return holder.session; }
Fire.event(ev, "_", msg, "_visible", visible); break; Fire.event(ev, "_", msg, "_visible", visible, key1, value1); break; Fire.event(ev, "_", msg, "_visible", visible, key1, value1, key2, value2); break; Fire.event(ev, "_", msg, "_visible", visible, key1, value1, key2, value2, key3, value3); break; Fire.event(ev, "_", msg, "_visible", visible, key1, value1, key2, value2, key3, value3, key4, value4); break; Fire.event(ev, "_", msg, "_visible", visible, key1, value1, key2, value2, key3, value3, key4, value4, key5, value5); break; Fire.event(ev, "_", msg, "_visible", visible, key1, value1, key2, value2, key3, value3, key4, value4, key5, value5, key6, value6); break; Fire.event(ev, "_", msg, "_visible", visible, key1, value1, key2, value2, key3, value3, key4, value4, key5, value5, key6, value6, key7, value7); break;
@Override public void saveSession(Req req, String sessionId, Map<String, Serializable> session) throws Exception { Fire.event(Events.SESSION_SAVE, "id", sessionId); SessionHolder holder = sessions.get(sessionId); long refN = holder.refCounter.decrementAndGet(); U.must(refN >= 0, "The session has negative reference counter!"); if (refN == 0) { synchronized (holder) { if (holder.refCounter.get() == 0) { Fire.event(Events.SESSION_SERIALIZE, "id", sessionId); holder.serialized = Msc.serialize(session); holder.session = null; } } } }
@Override public Map<String, Serializable> loadSession(Req req, String sessionId) throws Exception { Fire.event(Events.SESSION_LOAD, "id", sessionId); SessionHolder holder = sessions.get(sessionId); if (holder.session == null) { synchronized (holder) { if (holder.session == null) { if (holder.serialized != null) { Fire.event(Events.SESSION_DESERIALIZE, "id", sessionId); holder.session = U.cast(Msc.deserialize(holder.serialized)); } else { holder.session = Coll.concurrentMap(); Fire.event(Events.SESSION_CONCURRENT_ACCESS, "id", sessionId); } } } } holder.refCounter.incrementAndGet(); return holder.session; }
Fire.event(ev, "_", msg, "_visible", visible); break; Fire.event(ev, "_", msg, "_visible", visible, key1, value1); break; Fire.event(ev, "_", msg, "_visible", visible, key1, value1, key2, value2); break; Fire.event(ev, "_", msg, "_visible", visible, key1, value1, key2, value2, key3, value3); break; Fire.event(ev, "_", msg, "_visible", visible, key1, value1, key2, value2, key3, value3, key4, value4); break; Fire.event(ev, "_", msg, "_visible", visible, key1, value1, key2, value2, key3, value3, key4, value4, key5, value5); break; Fire.event(ev, "_", msg, "_visible", visible, key1, value1, key2, value2, key3, value3, key4, value4, key5, value5, key6, value6); break; Fire.event(ev, "_", msg, "_visible", visible, key1, value1, key2, value2, key3, value3, key4, value4, key5, value5, key6, value6, key7, value7); break;