Mercurial > hg > Database > Alice
annotate src/main/java/alice/daemon/AliceDaemon.java @ 535:dd20acf579bd dispose
resolve connection bug
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 15 Jun 2015 18:22:27 +0900 |
parents | aefbe41fcf12 |
children | d2f7d02c4976 |
rev | line source |
---|---|
345 | 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 { | |
419 | 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 | |
535
dd20acf579bd
resolve connection bug
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
419
diff
changeset
|
50 // listen on any address ipv4/ipv6 |
dd20acf579bd
resolve connection bug
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
419
diff
changeset
|
51 InetSocketAddress a = new InetSocketAddress("::", conf.localPort); |
dd20acf579bd
resolve connection bug
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
419
diff
changeset
|
52 |
dd20acf579bd
resolve connection bug
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
419
diff
changeset
|
53 //System.out.println("AliceDaemon.listen: bind to " + a); |
345 | 54 ss.bind(a); |
419 | 55 acceptThread = new AcceptThread(ss, "ACCEPT" + conf.localPort); |
56 acceptThread.start(); | |
57 } catch (IOException e) { | |
58 e.printStackTrace(); | |
59 } | |
60 | |
61 } | |
345 | 62 } |