1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.mina.example.gettingstarted.timeserver;
21
22 import java.io.IOException;
23 import java.net.InetSocketAddress;
24 import java.nio.charset.Charset;
25
26 import org.apache.mina.core.service.IoAcceptor;
27 import org.apache.mina.core.session.IdleStatus;
28 import org.apache.mina.filter.codec.ProtocolCodecFilter;
29 import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
30 import org.apache.mina.filter.logging.LoggingFilter;
31 import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
32
33
34
35
36
37
38
39 public class MinaTimeServer {
40
41 private static final int PORT = 9123;
42
43 public static void main(String[] args) throws IOException {
44
45 IoAcceptor acceptor = new NioSocketAcceptor();
46
47 acceptor.getFilterChain().addLast( "logger", new LoggingFilter() );
48 acceptor.getFilterChain().addLast( "codec", new ProtocolCodecFilter( new TextLineCodecFactory( Charset.forName( "UTF-8" ))));
49
50 acceptor.setHandler( new TimeServerHandler() );
51
52 acceptor.getSessionConfig().setReadBufferSize( 2048 );
53 acceptor.getSessionConfig().setIdleTime( IdleStatus.BOTH_IDLE, 10 );
54
55 acceptor.bind( new InetSocketAddress(PORT) );
56 }
57 }