【Mina】Session

client和server的连接: 叫session

 

Session State:

 

  • Connected : the session has been created and is available
  • Idle : the session hasn't processed any request for at least a period of time (this period is configurable)
    • Idle for read : no read has actually been made for a period of time
    • Idle for write : no write has actually been made for a period of time
    • Idle for both : no read nor write for a period of time
  • Closing : the session is being closed (the remaining messages are being flushed, cleaning up is not terminated)
  • Closed : The session is now closed, nothing else can be done to revive it.
状态转换图:


Session需要配置的参数:

Many different parameters can be set for a specific session :

  • receive buffer size
  • sending buffer size
  • Idle time
  • Write timeOut
Container
    在session中,有一个container,可以放置key/value属性(是个map结构);
    如果要用自己的container,譬如不用map,或者大尺寸value要放在磁盘上,要能够自己替换这个container
实现这个接口:
public interface IoSessionDataStructureFactory {
    /**
     * Returns an {@link IoSessionAttributeMap} which is going to be associated
     * with the specified <tt>session</tt>.  Please note that the returned
     * implementation must be thread-safe.
     */
    IoSessionAttributeMap getAttributeMap(IoSession session) throws Exception;
}
 

Filter chain

 


Handler






 

你可能感兴趣的:(Mina)