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.sumup;
21
22 import java.net.InetSocketAddress;
23
24 import org.apache.mina.example.sumup.codec.SumUpProtocolCodecFactory;
25 import org.apache.mina.filter.codec.ProtocolCodecFilter;
26 import org.apache.mina.filter.codec.serialization.ObjectSerializationCodecFactory;
27 import org.apache.mina.filter.logging.LoggingFilter;
28 import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
29
30
31
32
33
34
35
36 public class Server {
37 private static final int SERVER_PORT = 8080;
38
39
40 private static final boolean USE_CUSTOM_CODEC = true;
41
42 public static void main(String[] args) throws Throwable {
43 NioSocketAcceptor acceptor = new NioSocketAcceptor();
44
45
46 if (USE_CUSTOM_CODEC) {
47 acceptor.getFilterChain()
48 .addLast(
49 "codec",
50 new ProtocolCodecFilter(
51 new SumUpProtocolCodecFactory(true)));
52 } else {
53 acceptor.getFilterChain().addLast(
54 "codec",
55 new ProtocolCodecFilter(
56 new ObjectSerializationCodecFactory()));
57 }
58 acceptor.getFilterChain().addLast("logger", new LoggingFilter());
59
60 acceptor.setHandler(new ServerSessionHandler());
61 acceptor.bind(new InetSocketAddress(SERVER_PORT));
62
63 System.out.println("Listening on port " + SERVER_PORT);
64 }
65 }