package com.github.ltsopensource.startup.jobtracker; import com.github.ltsopensource.core.commons.utils.StringUtils; import com.github.ltsopensource.jobtracker.JobTracker; import com.github.ltsopensource.jobtracker.support.policy.OldDataDeletePolicy; import java.util.Map; /** * @author Robert HG (254963746@qq.com) on 9/1/15. */ public class JobTrackerStartup { public static void main(String[] args) { try { String confPath = args[0]; JobTrackerCfg cfg = JobTrackerCfgLoader.load(confPath); final JobTracker jobTracker = new JobTracker(); jobTracker.setRegistryAddress(cfg.getRegistryAddress()); jobTracker.setListenPort(cfg.getListenPort()); jobTracker.setClusterName(cfg.getClusterName()); if (StringUtils.isNotEmpty(cfg.getBindIp())) { jobTracker.setBindIp(cfg.getBindIp()); } jobTracker.setOldDataHandler(new OldDataDeletePolicy()); for (Map.Entry<String, String> config : cfg.getConfigs().entrySet()) { jobTracker.addConfig(config.getKey(), config.getValue()); } // 启动节点 jobTracker.start(); Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() { @Override public void run() { jobTracker.stop(); } })); } catch (CfgException e) { System.err.println("JobTracker Startup Error: " + e.getMessage()); e.printStackTrace(); } } }