1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.log4j.net;
20
21 import java.net.Socket;
22 import java.net.ServerSocket;
23
24 import org.apache.log4j.Logger;
25 import org.apache.log4j.LogManager;
26 import org.apache.log4j.PropertyConfigurator;
27 import org.apache.log4j.MDC;
28 import org.apache.log4j.helpers.LogLog;
29
30
31
32
33
34
35
36
37
38
39
40
41 public class ShortSocketServer {
42
43 static Logger cat = Logger.getLogger(ShortSocketServer.class);
44
45 public
46 static
47 void main(String args[]) throws Exception {
48 int totalTests = 0;
49 String prefix = null;
50
51 if(args.length == 2) {
52 totalTests = Integer.parseInt(args[0]);
53 prefix = args[1];
54 } else {
55 usage("Wrong number of arguments.");
56 }
57
58
59 LogLog.debug("Listening on port " + SocketServerTestCase.PORT);
60 ServerSocket serverSocket = new ServerSocket(SocketServerTestCase.PORT);
61
62 MDC.put("hostID", "shortSocketServer");
63
64 for(int i = 1; i <= totalTests; i++) {
65 PropertyConfigurator.configure(prefix+i+".properties");
66 LogLog.debug("Waiting to accept a new client.");
67 Socket socket = serverSocket.accept();
68 LogLog.debug("Connected to client at " + socket.getInetAddress());
69 LogLog.debug("Starting new socket node.");
70 SocketNode sn = new SocketNode(socket, LogManager.getLoggerRepository());
71 Thread t = new Thread(sn);
72 t.start();
73 t.join();
74 }
75 }
76
77
78 static
79 void usage(String msg) {
80 System.err.println(msg);
81 System.err.println(
82 "Usage: java " +ShortSocketServer.class.getName() + " totalTests configFilePrefix");
83 System.exit(1);
84 }
85 }