package com.farsunset.ichat.cim.session;
import java.util.Collection;
import com.farsunset.ichat.nio.session.CIMSession;
import com.farsunset.ichat.nio.session.SessionManager;
/**
* 集群 session管理实现示例, 各位可以自行实现 AbstractSessionManager接口来实现自己的 session管理 服务器集群时
* 须要将CIMSession 信息存入数据库或者nosql 等 第三方存储空间中,便于所有服务器都可以访问
*
* @author farsunset (3979434@qq.com)
*/
public class ClusterSessionManager implements SessionManager {
// private static HashMap<String,IoSession> sessions =new
// HashMap<String,IoSession>();
/**
*
*/
public void addSession(String account, CIMSession session) {
/**
* 下面 将session 存入数据库
*/
}
public CIMSession getSession(String account) {
// 这里查询数据库
/*
* CIMSession session = database.getSession(account);
* session.setIoSession(((NioSocketAcceptor)
* ContextHolder.getBean("serverAcceptor"
* )).getManagedSessions().get(session.getNid())); return session;
*/
return null;
}
public Collection<CIMSession> getSessions() {
/*
* //这里查询数据库 return database.getSessions();
*/
return null;
}
public void removeSession(CIMSession session) {
// database.removeSession(session.getAttribute(CIMConstant.SESSION_KEY));*/
}
public void removeSession(String account) {
// database.removeSession(account);*/
}
public boolean containsCIMSession(CIMSession ios) {
// return database.containsCIMSession(session.getAccount());
return false;
}
public String getAccount(CIMSession ios) {
return ios.getAccount();
}
}