Filter在mina中很重要,譬如前面服务器端程序中,就要设置不同的Filter进行数据内容的处理
acceptor.getFilterChain().addLast("logger", new LoggingFilter());
acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory(Charset.forName("UTF-8"))));
在IoService中,就有getFilterChain方法了,返回一个DefaultIoFilterChainBuider对象
在AbstractorService中实现了该方法,
在AbstractorService中,定义了一个属性
IoFilterChainbuilder filterChainBuilder = new DefaultIoFilterChainBuilder();
在addLast,就是把不同的Filter增加到filterChainBuilder中去;
在DefaultIoFilterChainBuilder中,有一成员:List<Entry> entries,按照次序保存每一个增加进来的filter,当然,通过addLast增加进来的filter,放在List的最后,
在增加filter进来,要注意,不能名字相同,否则会报错