Package com.alipay.bluewhale.core.work.context

Source Code of com.alipay.bluewhale.core.work.context.SystemContextMake

package com.alipay.bluewhale.core.work.context;

import java.util.HashMap;
import java.util.Map;

import org.apache.log4j.Logger;

import backtype.storm.generated.StormTopology;
import backtype.storm.task.TopologyContext;

import com.alipay.bluewhale.core.cluster.Common;
import com.alipay.bluewhale.core.cluster.StormConfig;

/**
* ����ϵͳTopologyContext,��acker bolt��
*
* @author yannian
*
*/
public class SystemContextMake {
  private static Logger LOG = Logger.getLogger(SystemContextMake.class);

  private StormTopology topology;
  private Map stormConf;
  private String topologyId;
  private String workerId;
  private HashMap<Integer, String> tasksToComponent;

  public SystemContextMake(StormTopology topology, Map storm_conf,
      String topologyId, String worker_id,
      HashMap<Integer, String> tasksToComponent) {
    this.topology = topology;
    this.stormConf = storm_conf;
    this.topologyId = topologyId;
    this.workerId = worker_id;
    this.tasksToComponent = tasksToComponent;
  }

  public TopologyContext make(Integer task_id) {
    TopologyContext rtn = null;
    try {
      StormTopology systopology = Common.system_topology(stormConf,topology);
      String distroot = StormConfig.supervisor_stormdist_root(stormConf,topologyId);
      String resourcePath = StormConfig.supervisor_storm_resources_path(distroot);
      String workpid = StormConfig.worker_pids_root(stormConf, workerId);
      rtn = new TopologyContext(systopology, tasksToComponent, topologyId,resourcePath, workpid, task_id);
    } catch (Exception e) {
      LOG.error("SystemContextMake make", e);
    }
    return rtn;
  }

}
TOP

Related Classes of com.alipay.bluewhale.core.work.context.SystemContextMake

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.