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 public class Server {
36 private static final int SERVER_PORT = 8080;
37
38
39 private static final boolean USE_CUSTOM_CODEC = true;
40
41 public static void main(String[] args) throws Throwable {
42 NioSocketAcceptor acceptor = new NioSocketAcceptor();
43
44
45 if (USE_CUSTOM_CODEC) {
46 acceptor.getFilterChain()
47 .addLast(
48 "codec",
49 new ProtocolCodecFilter(
50 new SumUpProtocolCodecFactory(true)));
51 } else {
52 acceptor.getFilterChain().addLast(
53 "codec",
54 new ProtocolCodecFilter(
55 new ObjectSerializationCodecFactory()));
56 }
57 acceptor.getFilterChain().addLast("logger", new LoggingFilter());
58
59 acceptor.setHandler(new ServerSessionHandler());
60 acceptor.bind(new InetSocketAddress(SERVER_PORT));
61
62 System.out.println("Listening on port " + SERVER_PORT);
63 }
64 }