final ExecutorFilter executorFilter = new ExecutorFilter( initialSize, configuration.getMaxThreadPoolSize(), 60, TimeUnit.SECONDS ); final ThreadPoolExecutor eventExecutor = (ThreadPoolExecutor) executorFilter.getExecutor(); final ThreadFactory threadFactory = new NamedThreadFactory( name + "-thread-", eventExecutor.getThreadFactory(), true, null );
final int min = 1; final int max = Integer.MAX_VALUE; // RE: java.util.concurrent.Executors.newCachedThreadPool() Executor executor = new ThreadPoolExecutor(min, max, 60, TimeUnit.SECONDS, new SynchronousQueue<Runnable>()) ExecutorFilter ef = new ExecutorFilter(executor);
@Override public void run() { final MinaServerHandler serverHandler = new MinaServerHandler(handler); socketAddress = new InetSocketAddress(port); acceptor = new NioSocketAcceptor(); acceptor.getFilterChain().addLast("threadPool", new ExecutorFilter(Executors.newCachedThreadPool())); acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new MinaCodecAdapter(Response.class, Request.class))); acceptor.setHandler(serverHandler); try { acceptor.bind(socketAddress); if (logger.isInfoEnabled()) { logger.info("[JobX] MinaServer start at address:{} success", port); } } catch (IOException e) { logger.error("[JobX] MinaServer start failure: {}", stackTrace(e)); } } });
public FilterChainBuilder ( final boolean clientMode ) { if ( !Boolean.getBoolean ( "org.eclipse.scada.protocol.ngp.common.disableStats" ) ) { this.filters.add ( new Entry ( StatisticsFilter.DEFAULT_NAME, new StatisticsFilter () ) ); } this.filters.add ( new Entry ( "logger.raw", new LoggerFilterFactory ( "raw" ) ) ); this.filters.add ( new Entry ( "ssl" ) ); this.filters.add ( new Entry ( "streamCompression" ) ); this.filters.add ( new Entry ( "logger", new LoggerFilterFactory ( "pre" ) ) ); this.filters.add ( new Entry ( "sync", new ExecutorFilter ( Integer.getInteger ( "org.eclipse.scada.protocol.ngp.common.coreSessionThreads", 0 ), Integer.getInteger ( "org.eclipse.scada.protocol.ngp.common.maxSessionThreads", 1 ), 1, TimeUnit.MINUTES, new NamedThreadFactory ( "org.eclipse.scada.protocol.ngp.common.FilterChainSync", false, true, THREAD_COUNTER ), IoEventType.WRITE ) ) ); this.filters.add ( new Entry ( "frameCodec", new ProtocolCodecFilter ( new FrameEncoder (), new FrameDecoder () ) ) ); this.filters.add ( new Entry ( "keepalive" ) ); this.filters.add ( new Entry ( "messageChannelCodec", new MessageChannelCodecFilter () ) ); this.filters.add ( new Entry ( "messageChannel", new IoFilterFactoryAdapter () { @Override public IoFilter create () { // we need new instances of MessageChannelFilter return new MessageChannelFilter ( clientMode ); } } ) ); }
public FilterChainBuilder ( final boolean clientMode ) { if ( !Boolean.getBoolean ( "org.eclipse.scada.protocol.ngp.common.disableStats" ) ) { this.filters.add ( new Entry ( StatisticsFilter.DEFAULT_NAME, new StatisticsFilter () ) ); } this.filters.add ( new Entry ( "logger.raw", new LoggerFilterFactory ( "raw" ) ) ); this.filters.add ( new Entry ( "ssl" ) ); this.filters.add ( new Entry ( "streamCompression" ) ); this.filters.add ( new Entry ( "logger", new LoggerFilterFactory ( "pre" ) ) ); this.filters.add ( new Entry ( "sync", new ExecutorFilter ( Integer.getInteger ( "org.eclipse.scada.protocol.ngp.common.coreSessionThreads", 0 ), Integer.getInteger ( "org.eclipse.scada.protocol.ngp.common.maxSessionThreads", 1 ), 1, TimeUnit.MINUTES, new NamedThreadFactory ( "org.eclipse.scada.protocol.ngp.common.FilterChainSync", false, true, THREAD_COUNTER ), IoEventType.WRITE ) ) ); this.filters.add ( new Entry ( "frameCodec", new ProtocolCodecFilter ( new FrameEncoder (), new FrameDecoder () ) ) ); this.filters.add ( new Entry ( "keepalive" ) ); this.filters.add ( new Entry ( "messageChannelCodec", new MessageChannelCodecFilter () ) ); this.filters.add ( new Entry ( "messageChannel", new IoFilterFactoryAdapter () { @Override public IoFilter create () { // we need new instances of MessageChannelFilter return new MessageChannelFilter ( clientMode ); } } ) ); }
chain.addLast("exec", new ExecutorFilter(SoaExcutors.SERVER));
/** * Starts the FTP server. * * @throws IOException If unable to start the FTP server. */ @Init public void start() throws IOException { InetSocketAddress socketAddress; if (listenAddress == null) { socketAddress = new InetSocketAddress(InetAddress.getLocalHost(), commandPort); } else { socketAddress = new InetSocketAddress(listenAddress, commandPort); } acceptor = new NioSocketAcceptor(); SocketSessionConfig config = acceptor.getSessionConfig(); config.setIdleTime(IdleStatus.BOTH_IDLE, idleTimeout); acceptor.getFilterChain().addLast("threadPool", new ExecutorFilter(executorService)); acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(codecFactory)); acceptor.setHandler(ftpHandler); acceptor.bind(socketAddress); monitor.startFtpListener(commandPort); }
lconnector.getFilterChain().addLast("executor", new ExecutorFilter(aProcessor)); lconnector.getFilterChain().addLast("executor", new ExecutorFilter(aProcessor));
this.acceptor.getFilterChain().addLast("threadPool", new ExecutorFilter());
chain.addLast("codec", new ProtocolCodecFilter(factory)); threadpool = new OrderedThreadPoolExecutor(minaServerConfig.getOrderedThreadPoolExecutorSize()); chain.addLast("threadPool", new ExecutorFilter(threadpool)); if(filters != null){ filters.forEach((key, filter)->chain.addLast(key, filter));
chain.addLast("threadPool", new ExecutorFilter(threadpool)); if (filters != null) { filters.forEach((key, filter) -> {
@Override public void run() { DefaultIoFilterChainBuilder chain = acceptor.getFilterChain(); chain.addLast("codec", new HttpServerCodecImpl()); // // 线程队列池 OrderedThreadPoolExecutor threadpool = new OrderedThreadPoolExecutor(minaServerConfig.getOrderedThreadPoolExecutorSize()); chain.addLast("threadPool", new ExecutorFilter(threadpool)); acceptor.setReuseAddress(minaServerConfig.isReuseAddress()); // 允许地址重用 SocketSessionConfig sc = acceptor.getSessionConfig(); sc.setReuseAddress(minaServerConfig.isReuseAddress()); sc.setReceiveBufferSize(minaServerConfig.getMaxReadSize()); sc.setSendBufferSize(minaServerConfig.getSendBufferSize()); sc.setTcpNoDelay(minaServerConfig.isTcpNoDelay()); sc.setSoLinger(minaServerConfig.getSoLinger()); sc.setIdleTime(IdleStatus.READER_IDLE, minaServerConfig.getReaderIdleTime()); sc.setIdleTime(IdleStatus.WRITER_IDLE, minaServerConfig.getWriterIdleTime()); acceptor.setHandler(ioHandler); try { acceptor.bind(new InetSocketAddress(minaServerConfig.getHttpPort())); LOG.warn("已开始监听HTTP端口:{}", minaServerConfig.getHttpPort()); } catch (IOException e) { SysUtil.exit(getClass(), e, "监听HTTP端口:{}已被占用", minaServerConfig.getHttpPort()); } } }
( ( DefaultIoFilterChainBuilder ) chain ).addLast( "executor", new ExecutorFilter( new UnorderedThreadPoolExecutor( transport.getNbThreads() ), IoEventType.MESSAGE_RECEIVED ) );
final ExecutorFilter executorFilter = new ExecutorFilter( initialSize, configuration.getMaxThreadPoolSize(), 60, TimeUnit.SECONDS ); final ThreadPoolExecutor eventExecutor = (ThreadPoolExecutor) executorFilter.getExecutor(); final ThreadFactory threadFactory = new NamedThreadFactory( name + "-thread-", eventExecutor.getThreadFactory(), true, null );
filterChainBuilder.addLast("threadPool", new ExecutorFilter(Executors.newCachedThreadPool()));
new ExecutorFilter(context.getThreadPoolExecutor())); acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new FtpServerProtocolCodecFactory()));
new ExecutorFilter(filterExecutor)); acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new FtpServerProtocolCodecFactory()));