public void start() { //使用NIO的Socket工厂 //使用线程池的执行队列 ChannelFactory factory = new NioServerSocketChannelFactory( Executors.newCachedThreadPool(), Executors.newCachedThreadPool()); ServerBootstrap serverBootstrap = new ServerBootstrap(factory); serverBootstrap.setPipelineFactory(new ChannelPipelineFactory() { @Override public ChannelPipeline getPipeline() { //拿到tcp handler syslogTcpHandler handler = new syslogTcpHandler(); //handler给它设置event长度 handler.setEventSize(eventSize); handler.setFormater(formaterProp); handler.setKeepFields(keepFields); return Channels.pipeline(handler); } }); logger.info("Syslog TCP Source starting..."); if (host == null) { nettyChannel = serverBootstrap.bind(new InetSocketAddress(port)); } else { nettyChannel = serverBootstrap.bind(new InetSocketAddress(host, port)); } super.start(); }
flume会将采集的数据包装成event,其实这个event有默认的大小,当然也可以自己配置
通过源码查看,最小是10,默认是2500