java mina TcpSessionManager

package com.pingan.emall.biz.communication;


import java.util.concurrent.ConcurrentHashMap;
import org.apache.mina.core.session.IoSession;


/**
 * 輔助 異步實現同步 存放 sessionId 
 * @author lisu005
 *
 */
public class TcpSessionManager {

private ConcurrentHashMap<Object, IoSession> sessions;

public TcpSessionManager() {
sessions = new ConcurrentHashMap<Object, IoSession>();
}

public void destroy() {
for (Object key : sessions.keySet()) {
IoSession session = sessions.remove(key);
if (session != null) {
session.close(true);
}
}
}


public void putSession(Object key, IoSession session) {
sessions.putIfAbsent(key, session);
}


public boolean containsKey(Object key) {
return sessions.containsKey(key);
}


public void closeSession(Object key) {
IoSession session = sessions.remove(key);
if (session != null) {
session.close(true);
}
}


public IoSession getSession(Object key) {
return sessions.get(key);
}
}
發佈了80 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章