public void start(FilterChain filterChain, SNIServerConfigResolver sniServerConfigResolver) { this.sniFilter = new SNIFilter(); this.sniFilter.setServerSSLConfigResolver(sniServerConfigResolver); FilterChainBuilder chainBuilder = FilterChainBuilder.stateless(); chainBuilder.add(new TransportFilter()); chainBuilder.add(this.sniFilter); Filter sslFilter = null; for (int i = 0; i < filterChain.size(); i++) { sslFilter = filterChain.get(i); if (sslFilter instanceof TransportFilter) { continue; } chainBuilder.add(sslFilter); //log.info(" filter added " + sslFilter); } FilterChain filterChainNew = chainBuilder.build(); this.transport = TCPNIOTransportBuilder.newInstance().setProcessor(filterChainNew) .build(); try { this.transport.bind(port); this.transport.start(); log.info("[HTTPS Service](SNI) start on port= " + port); } catch (Exception ex) { ex.printStackTrace(); } }
/** * Starts the server. */ public void start() throws IOException { if (isRunning) { return; } isRunning = true; final FilterChain filterChain = FilterChainBuilder.stateless() .add(new TransportFilter()) .add(new StringFilter(Charsets.UTF8_CHARSET)) .add(new EchoFilter()) .build(); final TCPNIOTransport tcpTransport = TCPNIOTransportBuilder.newInstance() .setProcessor(filterChain) .build(); transport = tcpTransport; tcpTransport.bind(endpointAddress); tcpTransport.start(); }
.setProcessor(filterChain) .build();
.setProcessor(filterChain) .build();
.setProcessor(chain) .build();