5
5
import ginyu .db .Db ;
6
6
import ginyu .io .Communicator ;
7
7
import ginyu .io .NettyCommunicator ;
8
+ import ginyu .persist .Saver ;
9
+ import ginyu .persist .SnapshotSaver ;
8
10
import ginyu .task .CleanExpiredTask ;
9
11
import ginyu .task .WakeupTimeoutClientTask ;
10
12
import ginyu .utils .ConfigUtils ;
11
13
import lombok .Getter ;
14
+ import lombok .ToString ;
12
15
import org .apache .commons .io .FileUtils ;
13
16
14
17
import java .io .File ;
24
27
* @description:
25
28
*/
26
29
@ SuppressWarnings ("all" )
30
+ @ ToString
27
31
public class Server {
28
32
29
33
public static final Server INSTANCE = new Server ();
@@ -36,6 +40,8 @@ public class Server {
36
40
@ Getter
37
41
private Db db ;
38
42
43
+ private Saver saver ;
44
+
39
45
private CleanExpiredTask cleanExpiredTask ;
40
46
41
47
private WakeupTimeoutClientTask wakeupTimeoutClientTask ;
@@ -49,6 +55,7 @@ public void init(String[] args) {
49
55
this .db = new Db (this .ginyuConfig .getDbSize ());
50
56
this .cleanExpiredTask = new CleanExpiredTask ();
51
57
this .wakeupTimeoutClientTask = new WakeupTimeoutClientTask ();
58
+ this .saver = new SnapshotSaver ();
52
59
}
53
60
54
61
private void printEnv () {
@@ -80,7 +87,6 @@ public void start() throws Exception {
80
87
Consoles .info ("start listening port {}" , ginyuConfig .getPort ());
81
88
this .communicator .start (ginyuConfig );
82
89
this .startTask ();
83
- Consoles .info ("server started" );
84
90
}
85
91
86
92
public void addClient (Client client ) {
@@ -95,4 +101,8 @@ private void startTask() {
95
101
this .cleanExpiredTask .start ();
96
102
this .wakeupTimeoutClientTask .start ();
97
103
}
104
+
105
+ public void save () {
106
+ this .saver .save ();
107
+ }
98
108
}
0 commit comments