comparison src/main/java/alice/daemon/AliceDaemon.java @ 345:8f71c3e6f11d

Change directory structure Maven standard
author sugi
date Wed, 16 Apr 2014 18:26:07 +0900
parents
children
comparison
equal deleted inserted replaced
344:9f97ec18f8c5 345:8f71c3e6f11d
1 package alice.daemon;
2
3 import java.io.FileWriter;
4 import java.io.IOException;
5 import java.net.InetAddress;
6 import java.net.InetSocketAddress;
7 import java.net.ServerSocket;
8 import java.nio.channels.ServerSocketChannel;
9
10 import org.apache.log4j.Logger;
11 import org.apache.log4j.PatternLayout;
12 import org.apache.log4j.WriterAppender;
13
14 public class AliceDaemon {
15
16 private Config conf;
17 private AcceptThread acceptThread;
18 private Logger log = Logger.getLogger(AliceDaemon.class);
19
20 public AliceDaemon(Config conf) {
21 this.conf = conf;
22 setLogger();
23 }
24
25 private void setLogger() {
26 Logger root = Logger.getRootLogger();
27 if (conf.level != null)
28 root.setLevel(conf.level);
29 if (conf.logFile == null)
30 return;
31 PatternLayout layout = new PatternLayout();
32 layout.setConversionPattern("%d %-5p %c - %m [%t] (%F:%L)%n");
33 try {
34 FileWriter writer = new FileWriter(conf.logFile);
35 WriterAppender writerAppender = new WriterAppender(layout, writer);
36 root.removeAllAppenders();
37 root.addAppender(writerAppender);
38 } catch (IOException e) {
39 e.printStackTrace();
40 }
41 log.info("configured");
42 }
43
44 public void listen() {
45 try {
46 ServerSocketChannel ssChannel = ServerSocketChannel.open();
47 ServerSocket ss = ssChannel.socket();
48 ss.setReuseAddress(true);
49
50 //InetSocketAddress a = new InetSocketAddress("::", conf.localPort);
51 InetSocketAddress a = new InetSocketAddress(InetAddress.getLocalHost(), conf.localPort);
52 //System.out.println(a);
53 ss.bind(a);
54 acceptThread = new AcceptThread(ss, "ACCEPT" + conf.localPort);
55 acceptThread.start();
56 } catch (IOException e) {
57 e.printStackTrace();
58 }
59
60 }
61 }