view src/main/java/christie/topology/manager/ConfigWaiter.java @ 114:ce96f375f369

fix topologyManager
author akahori
date Fri, 30 Nov 2018 11:17:06 +0900
parents e2ce8038815a
children 8949d0ecf1f6
line wrap: on
line source

package christie.topology.manager;


import christie.annotation.Peek;
import christie.annotation.Take;
import christie.codegear.CodeGear;
import christie.codegear.CodeGearManager;


import java.util.LinkedList;

public class ConfigWaiter extends CodeGear {

    @Peek
    LinkedList<String> waiterNodeNames;
    @Take
    String nodePrepareDone;

    @Take
    int nodeNum;

    public ConfigWaiter() { }

    @Override
    protected void run(CodeGearManager cgm) {
        nodeNum--;
        if (nodeNum == 0) {
            for (String nodeName: waiterNodeNames) getDGM(nodeName).put("start", "start");
            getLocalDGM().put("startTime", System.currentTimeMillis());
            getLocalDGM().put("running", true);

            return;
        }

        cgm.setup(new ConfigWaiter());
        getLocalDGM().put("nodeNum", nodeNum);
    }

}