public static Object deserialize(ByteBuffer buf) { int len = buf.getInt(); byte[] bytes = new byte[len]; buf.get(bytes); return deserialize(bytes); }
@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; }
@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; }