1 20 package org.apache.mina.example.echoserver; 21 22 import java.net.InetSocketAddress ; 23 24 import org.apache.mina.common.DefaultIoFilterChainBuilder; 25 import org.apache.mina.common.IoAcceptor; 26 import org.apache.mina.common.IoAcceptorConfig; 27 import org.apache.mina.example.echoserver.ssl.BogusSSLContextFactory; 28 import org.apache.mina.filter.LoggingFilter; 29 import org.apache.mina.filter.SSLFilter; 30 import org.apache.mina.transport.socket.nio.SocketAcceptor; 31 import org.apache.mina.transport.socket.nio.SocketAcceptorConfig; 32 33 39 public class Main { 40 41 private static final int PORT = 8080; 42 43 44 private static final boolean USE_SSL = false; 45 46 public static void main(String [] args) throws Exception { 47 IoAcceptor acceptor = new SocketAcceptor(); 48 IoAcceptorConfig config = new SocketAcceptorConfig(); 49 DefaultIoFilterChainBuilder chain = config.getFilterChain(); 50 51 if (USE_SSL) { 53 addSSLSupport(chain); 54 } 55 56 addLogger(chain); 57 58 acceptor.bind(new InetSocketAddress (PORT), new EchoProtocolHandler(), 60 config); 61 62 System.out.println("Listening on port " + PORT); 63 } 64 65 private static void addSSLSupport(DefaultIoFilterChainBuilder chain) 66 throws Exception { 67 SSLFilter sslFilter = new SSLFilter(BogusSSLContextFactory 68 .getInstance(true)); 69 chain.addLast("sslFilter", sslFilter); 70 System.out.println("SSL ON"); 71 } 72 73 private static void addLogger(DefaultIoFilterChainBuilder chain) 74 throws Exception { 75 chain.addLast("logger", new LoggingFilter()); 76 System.out.println("Logging ON"); 77 } 78 } 79 | Popular Tags |