annotate src/main/java/christie/topology/manager/IncomingHosts.java @ 57:f4b388422045

fix public to protected run
author akahori
date Fri, 24 Aug 2018 11:11:21 +0900
parents 34181394333f
children 76b6da075ce0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
41
akahori
parents:
diff changeset
1 package christie.topology.manager;
akahori
parents:
diff changeset
2
akahori
parents:
diff changeset
3
akahori
parents:
diff changeset
4 import christie.annotation.Peek;
akahori
parents:
diff changeset
5 import christie.annotation.Take;
akahori
parents:
diff changeset
6 import christie.codegear.CodeGear;
akahori
parents:
diff changeset
7 import christie.codegear.CodeGearManager;
akahori
parents:
diff changeset
8 import christie.topology.HostMessage;
akahori
parents:
diff changeset
9 import org.apache.log4j.Logger;
akahori
parents:
diff changeset
10
akahori
parents:
diff changeset
11 import java.util.HashMap;
akahori
parents:
diff changeset
12 import java.util.LinkedList;
akahori
parents:
diff changeset
13
akahori
parents:
diff changeset
14 public class IncomingHosts extends CodeGear {
akahori
parents:
diff changeset
15
44
6664efac18ee fix CheckCommingHost ConfigWaiter IncommingHosts
akahori
parents: 41
diff changeset
16 @Take // Topology from parse file
6664efac18ee fix CheckCommingHost ConfigWaiter IncommingHosts
akahori
parents: 41
diff changeset
17 HashMap<String, LinkedList<NodeInfo>> resultParse;
41
akahori
parents:
diff changeset
18
44
6664efac18ee fix CheckCommingHost ConfigWaiter IncommingHosts
akahori
parents: 41
diff changeset
19 @Take // nodeName list
41
akahori
parents:
diff changeset
20 LinkedList<String> nodeNames;
akahori
parents:
diff changeset
21
akahori
parents:
diff changeset
22 @Take // new coming host info
44
6664efac18ee fix CheckCommingHost ConfigWaiter IncommingHosts
akahori
parents: 41
diff changeset
23 HostMessage newHost;
6664efac18ee fix CheckCommingHost ConfigWaiter IncommingHosts
akahori
parents: 41
diff changeset
24
50
8dfd93810041 fix config and HostMessage
akahori
parents: 44
diff changeset
25 //@Take
8dfd93810041 fix config and HostMessage
akahori
parents: 44
diff changeset
26 @Peek
44
6664efac18ee fix CheckCommingHost ConfigWaiter IncommingHosts
akahori
parents: 41
diff changeset
27 HashMap<String, String> absCookieTable;
6664efac18ee fix CheckCommingHost ConfigWaiter IncommingHosts
akahori
parents: 41
diff changeset
28
6664efac18ee fix CheckCommingHost ConfigWaiter IncommingHosts
akahori
parents: 41
diff changeset
29 @Take
6664efac18ee fix CheckCommingHost ConfigWaiter IncommingHosts
akahori
parents: 41
diff changeset
30 String MD5;
41
akahori
parents:
diff changeset
31
akahori
parents:
diff changeset
32 private Logger log = Logger.getLogger(IncomingHosts.class);
akahori
parents:
diff changeset
33
akahori
parents:
diff changeset
34 public IncomingHosts() {
akahori
parents:
diff changeset
35
akahori
parents:
diff changeset
36 }
akahori
parents:
diff changeset
37
akahori
parents:
diff changeset
38 @Override
57
f4b388422045 fix public to protected run
akahori
parents: 55
diff changeset
39 protected void run(CodeGearManager cgm) {
41
akahori
parents:
diff changeset
40 // not have or match cookie
akahori
parents:
diff changeset
41 String nodeName = nodeNames.poll();
44
6664efac18ee fix CheckCommingHost ConfigWaiter IncommingHosts
akahori
parents: 41
diff changeset
42
41
akahori
parents:
diff changeset
43 // Manager connect to Node
50
8dfd93810041 fix config and HostMessage
akahori
parents: 44
diff changeset
44 cgm.createRemoteDGM(nodeName, newHost.hostName, newHost.port);
41
akahori
parents:
diff changeset
45 getDGM(nodeName).put( "host", nodeName);
akahori
parents:
diff changeset
46
akahori
parents:
diff changeset
47
44
6664efac18ee fix CheckCommingHost ConfigWaiter IncommingHosts
akahori
parents: 41
diff changeset
48 absCookieTable.put(MD5, nodeName);
50
8dfd93810041 fix config and HostMessage
akahori
parents: 44
diff changeset
49 //getLocalDGM().put("absCookieTable", absCookieTable);
41
akahori
parents:
diff changeset
50
44
6664efac18ee fix CheckCommingHost ConfigWaiter IncommingHosts
akahori
parents: 41
diff changeset
51 getDGM(nodeName).put("cookie", MD5);
41
akahori
parents:
diff changeset
52 log.info( "toplology manager connected from " + nodeName);
akahori
parents:
diff changeset
53
44
6664efac18ee fix CheckCommingHost ConfigWaiter IncommingHosts
akahori
parents: 41
diff changeset
54 LinkedList<NodeInfo> nodeInfoList = resultParse.get(nodeName);
6664efac18ee fix CheckCommingHost ConfigWaiter IncommingHosts
akahori
parents: 41
diff changeset
55 for (NodeInfo nodeInfo : nodeInfoList) {
50
8dfd93810041 fix config and HostMessage
akahori
parents: 44
diff changeset
56 HostMessage hostMessage = new HostMessage(newHost.hostName, newHost.port,
41
akahori
parents:
diff changeset
57 nodeInfo.connectionName, nodeInfo.reverseName);
44
6664efac18ee fix CheckCommingHost ConfigWaiter IncommingHosts
akahori
parents: 41
diff changeset
58 hostMessage.absName = nodeName;
6664efac18ee fix CheckCommingHost ConfigWaiter IncommingHosts
akahori
parents: 41
diff changeset
59 hostMessage.remoteAbsName = nodeInfo.sourceNodeName;
41
akahori
parents:
diff changeset
60
44
6664efac18ee fix CheckCommingHost ConfigWaiter IncommingHosts
akahori
parents: 41
diff changeset
61 getLocalDGM().put("nodeInfo", hostMessage);
57
f4b388422045 fix public to protected run
akahori
parents: 55
diff changeset
62
f4b388422045 fix public to protected run
akahori
parents: 55
diff changeset
63 // TODO: ここをTopologyNodeのIncommingConnectionInfoにおくれるようにしないと, 動かない.
f4b388422045 fix public to protected run
akahori
parents: 55
diff changeset
64 //getLocalDGM().put("hostInfo", hostMessage);
44
6664efac18ee fix CheckCommingHost ConfigWaiter IncommingHosts
akahori
parents: 41
diff changeset
65 log.info(" write to " + nodeInfo.sourceNodeName + " config message =" + hostMessage.toString() + " remain "
41
akahori
parents:
diff changeset
66 + Integer.toString((nodeNames.size())));
57
f4b388422045 fix public to protected run
akahori
parents: 55
diff changeset
67
44
6664efac18ee fix CheckCommingHost ConfigWaiter IncommingHosts
akahori
parents: 41
diff changeset
68 cgm.setup(new RecordTopology());
41
akahori
parents:
diff changeset
69 }
akahori
parents:
diff changeset
70
akahori
parents:
diff changeset
71 log.info(" remaining configure host = " + Integer.toString(nodeNames.size()));
akahori
parents:
diff changeset
72 if (nodeNames.isEmpty()) {
akahori
parents:
diff changeset
73 // configuration finish
44
6664efac18ee fix CheckCommingHost ConfigWaiter IncommingHosts
akahori
parents: 41
diff changeset
74 for (String key : resultParse.keySet()) {
41
akahori
parents:
diff changeset
75 log.info(" write to " + key + " end message =" + (new HostMessage("",0,"","")).toString());
57
f4b388422045 fix public to protected run
akahori
parents: 55
diff changeset
76 getDGM(key).put("hostInfo", new HostMessage("",0,"","")); // end mark
41
akahori
parents:
diff changeset
77 }
akahori
parents:
diff changeset
78 }
akahori
parents:
diff changeset
79
44
6664efac18ee fix CheckCommingHost ConfigWaiter IncommingHosts
akahori
parents: 41
diff changeset
80
6664efac18ee fix CheckCommingHost ConfigWaiter IncommingHosts
akahori
parents: 41
diff changeset
81 getLocalDGM().put("nodeNames", nodeNames);
6664efac18ee fix CheckCommingHost ConfigWaiter IncommingHosts
akahori
parents: 41
diff changeset
82 getLocalDGM().put("resultParse", resultParse);
41
akahori
parents:
diff changeset
83
akahori
parents:
diff changeset
84 cgm.setup(new IncomingHosts());
akahori
parents:
diff changeset
85 }
akahori
parents:
diff changeset
86 }