-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMainApp.java
More file actions
109 lines (91 loc) · 3.1 KB
/
Copy pathMainApp.java
File metadata and controls
109 lines (91 loc) · 3.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
package node.server.main;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import node.server.coordinator.MapMember;
import node.server.coordinator.MapTask;
import node.server.coordinator.ReplicationResult;
import node.server.main.ClientHandler;
import node.server.worker.MapCoordinator;
//import node.server.coordinator.MapWorker;
import com.hazelcast.config.Config;
import com.hazelcast.core.Hazelcast;
import com.hazelcast.core.HazelcastInstance;
//import com.hazelcast.core.IMap;
//import com.hazelcast.core.IMap;
public class MainApp {
/**
* @param args
*/
static Socket client = null;
static ServerSocket server = null;
private static Client cl = null;
private static ClientHandler clHandler = null;
private static HazelcastInstance hi;
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
socketServerOpen(4001); // open socket server
Config cfg = new Config();
cfg.setProperty("hazelcast.logging.type", "none"); // set hazelcast logging to none
hi = Hazelcast.newHazelcastInstance(cfg);
MapMember member = new MapMember();
MapCoordinator coordinator = new MapCoordinator();
MapTask task = new MapTask();
ReplicationResult replicaresult = new ReplicationResult();
// set hazelcast instance to member and coordinator
member.setHzInstance(hi);
coordinator.setHzInstance(hi);
// call listener membership
member.listenerOfMember();
/*
* checkMapCoordinator() -> checking map coordinator
* showCoordiantor() -> showing coordinator
* listenerOfCoordinator() -> call listener of coordinator event
* gridMembers() -> showing members of grid
*/
coordinator.checkMapCoordinator();
coordinator.showCoordinator();
coordinator.listenerOfCoordinator();
member.gridMembers();
cl = new Client();
cl.setHzInstance(hi);
/*
* setHzInstance() -> set hazelcast instance to task
* listenerOfTask() -> call listener of task event
*/
task.setHzInstance(hi);
task.listenerOfTask();
/*
* setHzInstance() -> set hazelcast instance to replica
* listenerOfMultiMapResult() -> call listener of result(multimap)
*/
replicaresult.setHzInstance(hi);
replicaresult.listenerOfMultimapResult();
System.out.println("==============================================================================");
System.out.println("");
System.out.println("GRID INFO: CRAWLER [MENUNGGU TASK]");
System.out.println("");
System.out.println("==============================================================================");
while(true){
client = server.accept();
clHandler = new ClientHandler(client);
clHandler.clientExecute();
}
//socketServerClose();
}catch(IOException ioEx){
ioEx.printStackTrace();
}
//Hazelcast.shutdownAll();
}
/*
* Method socketServerOpen
* open port socket for accepting connection from client
*/
public static void socketServerOpen(Integer port) throws IOException{
server = new ServerSocket(port);
}
public static void socketServerClose() throws IOException{
server.close();
}
}