当前位置: 首页>>代码示例>>Java>>正文


Java DefaultIoFilterChainBuilder.addLast方法代码示例

本文整理汇总了Java中org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder.addLast方法的典型用法代码示例。如果您正苦于以下问题:Java DefaultIoFilterChainBuilder.addLast方法的具体用法?Java DefaultIoFilterChainBuilder.addLast怎么用?Java DefaultIoFilterChainBuilder.addLast使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder的用法示例。


在下文中一共展示了DefaultIoFilterChainBuilder.addLast方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: start

import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder; //导入方法依赖的package包/类
/**
 * start Mina serversocket
 * @throws Exception
 */
public void start() throws Exception {
	IoBuffer.setUseDirectBuffer(false);
	IoBuffer.setAllocator(new SimpleBufferAllocator());

	acceptor = new NioSocketAcceptor(pool);
	acceptor.setReuseAddress(true);
	acceptor.getSessionConfig().setAll(getSessionConfig());

	int serverPort = GateServerConfig.serverPort;
	logger.info("socket server start at port:{},正在监听客户端的连接...", serverPort);
	DefaultIoFilterChainBuilder filterChain = acceptor.getFilterChain();
	filterChain.addLast("codec", new ProtocolCodecFilter(MessageCodecFactory.getInstance()));
	acceptor.setHandler( new ServerSocketIoHandler() );//指定业务逻辑处理器
	acceptor.setDefaultLocalAddress(new InetSocketAddress(serverPort) );//设置端口号
	acceptor.bind();//启动监听

}
 
开发者ID:kingston-csj,项目名称:jforgame,代码行数:22,代码来源:SocketServer.java

示例2: init

import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder; //导入方法依赖的package包/类
public static IoFilterChainBuilder init( LdapServer server ) throws LdapException
{
    SSLContext sslCtx;
    try
    {
    	sslCtx = server.getSSLContext();
    	
    }
    catch ( Exception e )
    {
        throw new LdapException( I18n.err( I18n.ERR_683 ), e );
    }

    DefaultIoFilterChainBuilder chain = new DefaultIoFilterChainBuilder();
    SslFilter sslFilter = new SslFilter( sslCtx );

    List<String> cipherSuites = server.getEnabledCipherSuites();
    if( ( cipherSuites != null ) && !cipherSuites.isEmpty() )
    {
        sslFilter.setEnabledCipherSuites( cipherSuites.toArray( new String[cipherSuites.size()] ) );
    }
    
    sslFilter.setWantClientAuth( true );
    chain.addLast( "sslFilter", sslFilter );
    return chain;
}
 
开发者ID:TremoloSecurity,项目名称:MyVirtualDirectory,代码行数:27,代码来源:LdapsInitializer.java

示例3: init

import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder; //导入方法依赖的package包/类
private void init(Config config) {
    connector = new NioDatagramConnector();
    connector.setHandler(new MinaClientHandler());
    DefaultIoFilterChainBuilder chain = connector.getFilterChain();
    if (connector.getFilterChain().get(LOGGER) == null) {
        chain.addLast(LOGGER, new LoggingFilter());
    }
    if (connector.getFilterChain().get(CODEC) == null) {
        ProtocolCodecFactory codecFactory = config.codec == null ?
                MinaUtil.getTextLineCodecFactory() : (ProtocolCodecFactory) config.codec;
        chain.addLast(CODEC, new ProtocolCodecFilter(codecFactory));
    }
    connector.getSessionConfig().setReadBufferSize(config.bufferSize);
    connector.getSessionConfig().setIdleTime(IdleStatus.WRITER_IDLE, 10);
    connector.getSessionConfig().setBroadcast(true);
    KeepAliveFilter keepAliveFilter = MinaUtil.initClientKeepAlive(config, this);
    if (keepAliveFilter != null) {
        connector.getFilterChain().addLast(HEARTBEAT, keepAliveFilter);
    }
}
 
开发者ID:EthanCo,项目名称:Halo-Turbo,代码行数:21,代码来源:MinaUdpClientSocket.java

示例4: init

import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder; //导入方法依赖的package包/类
private void init(Config config) {
    address = new InetSocketAddress(config.sourcePort);

    acceptor = new NioDatagramAcceptor();
    acceptor.setHandler(new MinaServerHandler());
    DefaultIoFilterChainBuilder chain = acceptor.getFilterChain();
    if (acceptor.getFilterChain().get(LOGGER) == null) {
        chain.addLast(LOGGER, new LoggingFilter());
    }
    if (acceptor.getFilterChain().get(CODEC) == null) {
        ProtocolCodecFactory codecFactory = config.codec == null ?
                MinaUtil.getTextLineCodecFactory() : (ProtocolCodecFactory) config.codec;
        chain.addLast(CODEC, new ProtocolCodecFilter(codecFactory));
    }
    DatagramSessionConfig dcfg = acceptor.getSessionConfig();
    dcfg.setReuseAddress(true);
    dcfg.setReadBufferSize(config.bufferSize);
    dcfg.setIdleTime(IdleStatus.WRITER_IDLE, 10);
    dcfg.setBroadcast(true);

    KeepAliveFilter keepAliveFilter = MinaUtil.initServerKeepAlive(config, this);
    if (keepAliveFilter != null) {
        acceptor.getFilterChain().addLast(HEARTBEAT, keepAliveFilter);
    }
}
 
开发者ID:EthanCo,项目名称:Halo-Turbo,代码行数:26,代码来源:MinaUdpServerSocket.java

示例5: startServer

import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder; //导入方法依赖的package包/类
/**
 * �������
 * @param args
 * @throws IOException 
 */
public  void startServer()  {
	 server = new NioSocketAcceptor();
	//�������ݹ�����
	DefaultIoFilterChainBuilder  filterChain = server.getFilterChain();
	filterChain.addLast("myChin", new ProtocolCodecFilter(  
               new ObjectSerializationCodecFactory()));
	
	//filterChain.addLast("textCode",new ProtocolCodecFilter(
	//			new TextLineCodecFactory(Charset.forName("UTF-8"))));
	
	serverIOHandler = new ServerIOHandler(severFrame);
	server.setHandler(serverIOHandler);
	//�����������˿� --- ����������
	try {
		server.bind(new InetSocketAddress(port));
	} catch (IOException e) {
		Tools.show(severFrame, "�˿��Ѿ�ռ�ã��뻻���˿ڣ�");
	}
}
 
开发者ID:ganhang,项目名称:My-ChatSystem,代码行数:25,代码来源:Server.java

示例6: main

import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder; //导入方法依赖的package包/类
public static void main(String[] args) {
	int port = U.getInt("cleaner.server.port");
	int idleTime = U.getInt("cleaner.server.time");
	NioSocketAcceptor clientAcceptor = new NioSocketAcceptor();
	clientAcceptor.setReuseAddress(true);

	DefaultIoFilterChainBuilder chain = clientAcceptor.getFilterChain();
	SocketSessionConfig config = clientAcceptor.getSessionConfig();
	config.setIdleTime(IdleStatus.READER_IDLE, idleTime);// 读空闲 10秒
	config.setReuseAddress(true);
	config.setReadBufferSize(4096);// 默认2048
	config.setKeepAlive(true);
	config.setTcpNoDelay(true);// 开启nagle算法
	// 编解码
	chain.addLast("coder", new ProtocolCodecFilter(new TextLineCodecFactory(U.UTF8)));
	clientAcceptor.setHandler(new CleanerHandler());
	try {
		clientAcceptor.bind(new InetSocketAddress(port));
		log.info("心跳模块启动..");
	} catch (IOException e) {
		log.error("心跳模块启动失败", e);
	}
}
 
开发者ID:East196,项目名称:maker,代码行数:24,代码来源:BeatServer.java

示例7: initialize

import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder; //导入方法依赖的package包/类
public void initialize() {
	idleTime = U.getInt("chat.server.idleTime");
	System.out.println(idleTime);

	clientAcceptor = new NioSocketAcceptor();
	clientAcceptor.setReuseAddress(true);

	DefaultIoFilterChainBuilder chain = clientAcceptor.getFilterChain();
	SocketSessionConfig config = clientAcceptor.getSessionConfig();
	config.setReuseAddress(true);
	config.setIdleTime(IdleStatus.READER_IDLE, idleTime);// 读空闲 20秒
	config.setReadBufferSize(4096);// 默认2048
	config.setKeepAlive(true);
	config.setTcpNoDelay(true);// 禁用/开启nagle算法
	// 编解码
	chain.addLast("coder", new ProtocolCodecFilter(new MessageCodecFactory()));
	// 日志
	chain.addLast("logger", new LoggingFilter());
	// 业务逻辑处理线程池
	chain.addLast("threadPool", new ExecutorFilter());
}
 
开发者ID:East196,项目名称:maker,代码行数:22,代码来源:TcpServer.java

示例8: startListner

import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder; //导入方法依赖的package包/类
public  void startListner(IoHandler iohandler,int listenPort) throws Exception{
	acceptor = new NioSocketAcceptor();
	acceptor.setBacklog(100);
	acceptor.setReuseAddress(true);
	acceptor.setHandler(iohandler);
	
       DefaultIoFilterChainBuilder chain = acceptor.getFilterChain();
       IoFilter protocol = new ProtocolCodecFilter(new GameProtocolcodecFactory());
       chain.addLast("codec", protocol);
	threadpool = new OrderedThreadPoolExecutor(500);
	threadpool.setThreadFactory(new ServerThreadFactory("OrderedThreadPool"));
	chain.addLast("threadPool", new ExecutorFilter(threadpool));
	
	int recsize = 5120;
	int sendsize = 40480;                                                                                         
	int timeout = 10;
	SocketSessionConfig sc = acceptor.getSessionConfig();
	sc.setReuseAddress(true);// 设置每一个非主监听连接的端口可以重用
	sc.setReceiveBufferSize(recsize);// 设置输入缓冲区的大小
	sc.setSendBufferSize(sendsize);// 设置输出缓冲区的大小
	sc.setTcpNoDelay(true);// flush函数的调用 设置为非延迟发送,为true则不组装成大包发送,收到东西马上发出   
	sc.setSoLinger(0);
	sc.setIdleTime(IdleStatus.READER_IDLE, timeout);
	acceptor.bind(new InetSocketAddress(listenPort));
}
 
开发者ID:yongzhidai,项目名称:GameServer,代码行数:26,代码来源:NetManager.java

示例9: addFilterToChain

import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder; //导入方法依赖的package包/类
protected void addFilterToChain( final SocketAcceptor acceptor, final String filterName, final IoFilter filter )
{
    if ( acceptor == null )
    {
        Log.debug( "Not adding filter '{}' to acceptor that is null.", filterName );
        return;
    }

    final DefaultIoFilterChainBuilder chain = acceptor.getFilterChain();
    if ( chain.contains( COMPRESSION_FILTER_NAME ) )
    {
        Log.debug( "Adding filter '{}' as the first filter after the compression filter in acceptor {}", filterName, acceptor );
        chain.addAfter( COMPRESSION_FILTER_NAME, filterName, filter );
    }
    else if ( chain.contains( TLS_FILTER_NAME ) )
    {
        Log.debug( "Adding filter '{}' as the first filter after the TLS filter in acceptor {}", filterName, acceptor );
        chain.addAfter( TLS_FILTER_NAME, filterName, filter );
    }
    else
    {
        Log.debug( "Adding filter '{}' as the last filter in acceptor {}", filterName, acceptor );
        chain.addLast( filterName, filter );
    }
}
 
开发者ID:igniterealtime,项目名称:Openfire,代码行数:26,代码来源:DebuggerPlugin.java

示例10: initService

import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder; //导入方法依赖的package包/类
private void initService() throws Exception
  {
      IoBuffer.setUseDirectBuffer(false);

      acceptor = new NioSocketAcceptor(
      		Runtime.getRuntime().availableProcessors() + 1);
      config = acceptor.getSessionConfig();
      config.setReuseAddress(true);
      DefaultIoFilterChainBuilder chain = acceptor.getFilterChain();

      chain.addLast("codec", new ProtocolCodecFilter(
      		new TextLineCodecFactory(
              		MailsterConstants.DEFAULT_CHARSET, 
              		LineDelimiter.CRLF, 
              		LineDelimiter.CRLF)));

executor = Executors.newCachedThreadPool(
		ThreadFactoryUtilities.createFactory("POP3 Thread"));
chain.addLast("threadPool", new ExecutorFilter(executor));

      handler = new Pop3ProtocolHandler(userManager);
  }
 
开发者ID:edeoliveira,项目名称:Mailster,代码行数:23,代码来源:MailsterPop3Service.java

示例11: initConnector

import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder; //导入方法依赖的package包/类
private void initConnector(InetSocketAddress isa, TransportConfig config) {
    // create connector
    ioConnector = new NioSocketConnector(1);
    ioConnector.setConnectTimeoutMillis(config.getConnectTimeout());

    SocketSessionConfig sessionConfig = ioConnector.getSessionConfig();
    sessionConfig.setTcpNoDelay(true);
    sessionConfig.setReceiveBufferSize(8 * 1024);
    sessionConfig.setSendBufferSize(8 * 1024);

    DefaultIoFilterChainBuilder chainBuilder = ioConnector.getFilterChain();

    final TransportProtocolEncoder encoder = new TransportProtocolEncoder();
    final TransportProtocolDecoder decoder = new TransportProtocolDecoder();
    encoder.setMaxObjectSize(config.getMaxSize());
    decoder.setMaxObjectSize(config.getMaxSize());
    // add filter
    chainBuilder.addLast("codec", new ProtocolCodecFilter(encoder, decoder));

    // add keep alive filter
    ActiveKeepAliveMessageFactory messageFactory = new ActiveKeepAliveMessageFactory(config.getSerializeType());
    KeepAliveFilter kaFilter = new KeepAliveFilter(messageFactory, IdleStatus.BOTH_IDLE);
    kaFilter.setRequestInterval(config.getHeartbeatIntervalSeconds());
    kaFilter.setForwardEvent(true);
    chainBuilder.addLast("keepAlive", kaFilter);

    // set handler
    ioConnector.setHandler(new MinaIoHandler());

    ioConnector.setDefaultRemoteAddress(isa);
}
 
开发者ID:dinstone,项目名称:jrpc,代码行数:32,代码来源:MinaConnector.java

示例12: connect

import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder; //导入方法依赖的package包/类
/**
 * �����ͻ�������
 */
public boolean connect() {
	// ʵ���� �������� Socket����
	client = new NioSocketConnector();
	// �������ݹ�����
	DefaultIoFilterChainBuilder filterChain = client.getFilterChain();
	//filterChain.addLast("textCode", new ProtocolCodecFilter(
	//		new TextLineCodecFactory(Charset.forName("UTF-8"))));
	filterChain.addLast("myChin", new ProtocolCodecFilter(
			new ObjectSerializationCodecFactory()));
	// �ͻ��˴������
	ClientIoHandler clientIoHandler = new ClientIoHandler(loginFrame,client);
	client.setHandler(clientIoHandler);
	clientIoHandler.setRegisterFrame(registerFrame);
	// ���ӷ�����
	ConnectFuture future = client.connect(new InetSocketAddress(
			IP, Port));
	// �ȴ�
	future.awaitUninterruptibly();
	// �õ��Ự����
	try {
		session = future.getSession();
		return true;
	} catch (Exception e) {
		Tools.show(loginFrame, "�޷����ӷ�������������û������");
		client.dispose();
		if(registerFrame!=null)
		registerFrame.dispose();
		return false;
	}
	// session.getCloseFuture().awaitUninterruptibly();

}
 
开发者ID:ganhang,项目名称:My-ChatSystem,代码行数:36,代码来源:Client.java

示例13: appendIoFiltersToChain

import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder; //导入方法依赖的package包/类
private void appendIoFiltersToChain(List<IoFilter> filters, DefaultIoFilterChainBuilder filterChain) {
    if (filters != null && filters.size() > 0) {
        for (IoFilter ioFilter : filters) {
            filterChain.addLast(ioFilter.getClass().getCanonicalName(), ioFilter);
        }
    }
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:8,代码来源:Mina2Producer.java

示例14: start

import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder; //导入方法依赖的package包/类
public void start() throws Exception {
	buildExecutors();
	IoProcessor<NioSession> processor = new SimpleIoProcessorPool<NioSession>(
			NioProcessor.class, ioExecutor, coreSize);
	connector = new NioSocketConnector(connectorExecutor, processor);
	connector.setConnectTimeoutMillis((Integer) rule.get("timeout")); // 设置连接超时。见AbstractPollingIoConnector.processTimedOutSessions()与ConnectionRequest类
	// connector.getSessionConfig().setUseReadOperation(true); //
	// 亦可使用该方式实现同步发送并接收数据,这样无须设置Handler,通过session.read()获取
	handler = new ShortConnectorHandler();
	connector.setHandler(handler);
	DefaultIoFilterChainBuilder filterChain = connector.getFilterChain();
	filterChain.addLast("codec", new ProtocolCodecFilter(
			ProtocolCodecFactoryFactory.getInstance(rule)));
}
 
开发者ID:dreajay,项目名称:jcode,代码行数:15,代码来源:TcpConnector.java

示例15: buildFilterChain

import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder; //导入方法依赖的package包/类
protected void buildFilterChain() {
	DefaultIoFilterChainBuilder filterChain = acceptor.getFilterChain();
	filterChain.addLast("codec",new ProtocolCodecFilter(ProtocolCodecFactoryFactory.getInstance(rule)));
	IoEventType[] DEFAULT_EVENT_SET = new IoEventType[] {
	        IoEventType.MESSAGE_RECEIVED
	    };
	// businessPool用来处理DEFAULT_EVENT_SET事件,这里只处理获取
	filterChain.addLast("businessPool", new ExecutorFilter(businessExecutor, DEFAULT_EVENT_SET));
}
 
开发者ID:dreajay,项目名称:jcode,代码行数:10,代码来源:ShortTcpAcceptor.java


注:本文中的org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder.addLast方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。