org.apache.mina.transport.socket.nio.NioSocketConnector.getFilterChain()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(8.5k)|赞(0)|评价(0)|浏览(69)

本文整理了Java中org.apache.mina.transport.socket.nio.NioSocketConnector.getFilterChain()方法的一些代码示例,展示了NioSocketConnector.getFilterChain()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。NioSocketConnector.getFilterChain()方法的具体详情如下:
包路径:org.apache.mina.transport.socket.nio.NioSocketConnector
类名称:NioSocketConnector
方法名:getFilterChain

NioSocketConnector.getFilterChain介绍

暂无

代码示例

代码示例来源:origin: ltsopensource/light-task-scheduler

@Override
protected void clientStart() throws RemotingException {
  try {
    connector = new NioSocketConnector(); //TCP Connector
    // connector.getFilterChain().addFirst("logging", new MinaLoggingFilter());
    connector.getFilterChain().addLast("codec", new ProtocolCodecFilter(new MinaCodecFactory(getCodec())));
    connector.getFilterChain().addLast("mdc", new MdcInjectionFilter());
    connector.setHandler(new MinaHandler(this));
    IoSessionConfig cfg = connector.getSessionConfig();
    cfg.setReaderIdleTime(remotingClientConfig.getReaderIdleTimeSeconds());
    cfg.setWriterIdleTime(remotingClientConfig.getWriterIdleTimeSeconds());
    cfg.setBothIdleTime(remotingClientConfig.getClientChannelMaxIdleTimeSeconds());
  } catch (Exception e) {
    throw new RemotingException("Mina Client start error", e);
  }
}

代码示例来源:origin: ltsopensource/light-task-scheduler

@Override
protected void clientStart() throws RemotingException {
  try {
    connector = new NioSocketConnector(); //TCP Connector
    // connector.getFilterChain().addFirst("logging", new MinaLoggingFilter());
    connector.getFilterChain().addLast("codec", new ProtocolCodecFilter(new MinaCodecFactory(getCodec())));
    connector.getFilterChain().addLast("mdc", new MdcInjectionFilter());
    connector.setHandler(new MinaHandler(this));
    IoSessionConfig cfg = connector.getSessionConfig();
    cfg.setReaderIdleTime(remotingClientConfig.getReaderIdleTimeSeconds());
    cfg.setWriterIdleTime(remotingClientConfig.getWriterIdleTimeSeconds());
    cfg.setBothIdleTime(remotingClientConfig.getClientChannelMaxIdleTimeSeconds());
  } catch (Exception e) {
    throw new RemotingException("Mina Client start error", e);
  }
}

代码示例来源:origin: org.eclipse.neoscada.core/org.eclipse.scada.da.server.osgi.modbus

@Override
protected void configureConnector ( final NioSocketConnector connector )
{
  logger.debug ( "Configuring connector: {}", connector );
  switch ( this.protocolType )
  {
    case TYPE_TCP:
      connector.getFilterChain ().addLast ( "modbusPdu", new ProtocolCodecFilter ( new ModbusTcpEncoder (), new ModbusTcpDecoder () ) );
      connector.getFilterChain ().addLast ( "modbus", new ModbusMasterProtocolFilter () );
      break;
    case TYPE_RTU:
      // convert milliseconds to microseconds to allow more accurate timing
      final ModbusRtuDecoder rtuDecoder = new ModbusRtuDecoder ( getExecutor (), Double.valueOf ( this.interFrameDelay * 1000 ).longValue (), TimeUnit.MICROSECONDS );
      connector.getFilterChain ().addLast ( "modbusPdu", new ModbusRtuProtocolCodecFilter ( new ModbusRtuEncoder (), rtuDecoder ) );
      connector.getFilterChain ().addLast ( "modbus", new ModbusMasterProtocolFilter () );
      break;
    default:
      throw new IllegalArgumentException ( String.format ( "'%s' is not an allowed modbus device type", this.protocolType ) );
  }
  if ( Boolean.getBoolean ( "org.eclipse.scada.da.server.osgi.modbus.trace" ) )
  {
    connector.getFilterChain ().addFirst ( "logger", new LoggingFilter ( ModbusMaster.class.getName () + ".protocol" ) );
  }
}

代码示例来源:origin: jzyong/game-server

/**
 * 初始化tcp连接
 * @param clientProtocolHandler
 */
private void init(IoHandler clientProtocolHandler) {
  connector = new NioSocketConnector();
  DefaultIoFilterChainBuilder chain = connector.getFilterChain();
  chain.addLast("codec", codecFilter);
  if(filters != null){
    filters.forEach((key, filter)->{
      if("ssl".equalsIgnoreCase(key) || "tls".equalsIgnoreCase(key)){	//ssl过滤器必须添加到首部
        chain.addFirst(key, filter);
      }else{
        chain.addLast(key, filter);
      }
    });
  }
  connector.setHandler(clientProtocolHandler);
  connector.setConnectTimeoutMillis(60000L);
  connector.setConnectTimeoutCheckInterval(10000);
}

代码示例来源:origin: sics-sse/moped

connector.getSessionConfig().setKeepAlive(true);
connector.getFilterChain().addLast(
    "codec",
    new ProtocolCodecFilter(
        new ObjectSerializationCodecFactory()));
connector.getFilterChain().addLast("logger", new LoggingFilter());
connector.setHandler(new ClientHandler(this));

代码示例来源:origin: cuihp/AndroidServer

@Override
public void run() {
  mAddress = new InetSocketAddress(mConfig.getIp(), mConfig.getPort());
  mConnection = new NioSocketConnector();
  mConnection.getSessionConfig().setReadBufferSize(mConfig.getReadBufferSize());
  mConnection.getFilterChain().addLast("logger", new LoggingFilter());
  mConnection.getFilterChain().addLast("codec", new ProtocolCodecFilter(new ObjectSerializationCodecFactory()));
  mConnection.setConnectTimeoutMillis(mConfig.getConnectionTimeout());
  mConnection.setHandler(new ClientHandler());
  mConnection.setDefaultRemoteAddress(mAddress);
  reConnect();
}

代码示例来源:origin: com.eas.platypus/platypus-js-core

lconnector.getFilterChain().addLast("executor", new ExecutorFilter(aProcessor));
  lconnector.getFilterChain().addLast("executor", new ExecutorFilter(aProcessor));
lconnector.getFilterChain().addLast("platypusCodec", new ProtocolCodecFilter(new RequestEncoder(), new ResponseDecoder()));
lconnector.setHandler(new IoHandlerAdapter() {

代码示例来源:origin: com.github.ltsopensource/lts-core

@Override
protected void clientStart() throws RemotingException {
  try {
    connector = new NioSocketConnector(); //TCP Connector
    // connector.getFilterChain().addFirst("logging", new MinaLoggingFilter());
    connector.getFilterChain().addLast("codec", new ProtocolCodecFilter(new MinaCodecFactory(getCodec())));
    connector.getFilterChain().addLast("mdc", new MdcInjectionFilter());
    connector.setHandler(new MinaHandler(this));
    IoSessionConfig cfg = connector.getSessionConfig();
    cfg.setReaderIdleTime(remotingClientConfig.getReaderIdleTimeSeconds());
    cfg.setWriterIdleTime(remotingClientConfig.getWriterIdleTimeSeconds());
    cfg.setBothIdleTime(remotingClientConfig.getClientChannelMaxIdleTimeSeconds());
  } catch (Exception e) {
    throw new RemotingException("Mina Client start error", e);
  }
}

代码示例来源:origin: com.github.mrstampy/esp

private void initConnector() {
  connector = new NioSocketConnector();
  DefaultIoFilterChainBuilder chain = connector.getFilterChain();
  MdcInjectionFilter mdcInjectionFilter = new MdcInjectionFilter();
  chain.addLast("mdc", mdcInjectionFilter);
  chain.addLast("codec", new ProtocolCodecFilter(new ObjectSerializationCodecFactory()));
  connector.setHandler(new IoHandlerAdapter() {
    @SuppressWarnings("unchecked")
    public void messageReceived(IoSession session, Object message) throws Exception {
      if (message instanceof AbstractMultiConnectionEvent<?>) {
        AbstractMultiConnectionEvent<E> event = (AbstractMultiConnectionEvent<E>) message;
        Observable.just(event).subscribe(new Action1<AbstractMultiConnectionEvent<E>>() {
          @Override
          public void call(AbstractMultiConnectionEvent<E> t1) {
            processEvent(t1);
          }
        });
      }
    }
  });
}

代码示例来源:origin: r17171709/android_demo

private PushManager() {
  connector=new NioSocketConnector();
  connector.setConnectTimeoutMillis(Params.CONNECT_TIMEOUT);
  //为接收器设置管理服务
  connector.setHandler(new ClientSessionHandler());
  //设置过滤器(使用Mina提供的文本换行符编解码器)
  connector.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory(Charset.forName("UTF-8"), LineDelimiter.WINDOWS.getValue(),LineDelimiter.WINDOWS.getValue())));
  //读写通道5秒内无操作进入空闲状态
  connector.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, Params.REQUEST_TIMEOUT);
  //设置读取数据的缓冲区大小
  connector.getSessionConfig().setReadBufferSize(2048);
  //设置心跳
  KeepAliveMessageFactory heartBeatFactory = new ClientKeepAliveMessageFactoryImp();
  KeepAliveRequestTimeoutHandler heartBeatHandler = new ClientKeepAliveMessageTimeoutFactoryImp();
  KeepAliveFilter heartBeat = new KeepAliveFilter(heartBeatFactory, IdleStatus.BOTH_IDLE, heartBeatHandler);
  //是否回发
  heartBeat.setForwardEvent(true);
  //心跳发送频率
  heartBeat.setRequestInterval(Params.REQUEST_INTERVAL);
  connector.getSessionConfig().setKeepAlive(true);
  connector.getFilterChain().addLast("keepalive", heartBeat);
}

代码示例来源:origin: jobxhub/JobX

@Override
public void connect(Request request) {
  if (connector == null) {
    connector = new NioSocketConnector();
    connector.getFilterChain().addLast("codec", new ProtocolCodecFilter(new MinaCodecAdapter(Request.class, Response.class)));
    connector.setHandler(new MinaClientHandler(this));
    connector.setConnectTimeoutMillis(5000);
    DefaultSocketSessionConfig sessionConfiguration = (DefaultSocketSessionConfig) connector.getSessionConfig();
    sessionConfiguration.setTcpNoDelay(true);
    sessionConfiguration.setKeepAlive(true);
    sessionConfiguration.setWriteTimeout(5);
  }
}
@Override

相关文章