Apache Main 介绍
整理:网站建设与网站制作公司-VeiSun.Com)简单介绍:MINA 框架是对 java 的 NIO 包的一个封装,
简化了 NIO 程序开发的难度,封装了很多底层的细节,然开发者把精力集中到业务逻辑上来,最近做了
一个相关的项目,为了备忘对 MINA 做一个总结。
下面这个 start 方法用来初始化 MINA:
view plaincopy to clipboardprint?
private void start(int port, WebContext ctx)%%%
%%%%% throws IOException, InstantiationException%%
%%%%%%% , IllegalAccessException, ClassNotFoundException {%%
%%% //初始化 Acceptor%%
%%% NioSocketAcceptor acceptor = new NioSocketAcceptor(5);%%
%%%%%%%%%%
%%%%%% java.util.concurrent.Executor threadPool = Executors.newFixedThreadPool(1500);//建立
线程池QQQ
%%%%%% //加入过滤器(Filter)到 Acceptor%%
%%%%%% acceptor.getFilterChain().addLast("exector", new ExecutorFilter(threadPool));%%
acceptor.getFilterChain().addLast("codec",%%%
%%%%%% new ProtocolCodecFilter(new WebDecoder(),new WebEncoder()));%%
%%%%%% LoggingFilter 7lter = new LoggingFilter();%%
%%% 7lter.setExceptionCaughtLogLevel(LogLevel.DEBUG);%%
%%% 7lter.setMessageReceivedLogLevel(LogLevel.DEBUG);%%
%%% 7lter.setMessageSentLogLevel(LogLevel.DEBUG);%%
%%% 7lter.setSessionClosedLogLevel(LogLevel.DEBUG);%%
%%% 7lter.setSessionCreatedLogLevel(LogLevel.DEBUG);%%
%%% 7lter.setSessionIdleLogLevel(LogLevel.DEBUG);%%
%%% 7lter.setSessionOpenedLogLevel(LogLevel.DEBUG);%%
%%% acceptor.getFilterChain().addLast("logger", 7lter);%%%
%%%%%%%%%%
%%%%%% acceptor.setReuseAddress(true);//设置的是主服务监听的端口可以重用QQQ
%%%%%%%%%%
%%%%%% acceptor.getSessionCon7g().setReuseAddress(true);//设置每一个非主监听连接的端口可以
重用QQQ
%%%%%% acceptor.getSessionCon7g().setReceiveBu<erSize(1024);//设置输入缓冲区的大小QQQ
%%%%%% acceptor.getSessionCon7g().setSendBu<erSize(10240);//设置输出缓冲区的大小QQQ
//设置为非延迟发送,为 true 则不组装成大包发送,收到东西马上发出QQQ
%%%%%% acceptor.getSessionCon7g().setTcpNoDelay(true);%%
//设置主服务监听端口的监听队列的最大值为 100,如果当前已经有 100 个连接,再新的连接来将被服务
器拒绝QQQ
%%%%%% acceptor.setBacklog(100);%%
%%%%%% acceptor.setDefaultLocalAddress(new InetSocketAddress(port));%%