@Path("/topologies") @GET public List<Topology> listTopologies() { return dao.listTopologies(); }
public void stopTopology(String topologyName) throws Exception { Optional<Topology> tdop = TopologyMgmtResourceHelper.findById(dao.listTopologies(), topologyName); Topology topologyDef; if (tdop.isPresent()) { topologyDef = tdop.get(); } else { throw new Exception("Fail to find topology " + topologyName); } Nimbus.Client stormClient = NimbusClient.getConfiguredClient(getStormConf(null, topologyDef.getClusterName())).getClient(); stormClient.killTopology(topologyName); }
public void startTopology(String topologyName) throws Exception { Optional<Topology> tdop = TopologyMgmtResourceHelper.findById(dao.listTopologies(), topologyName); Topology topologyDef; if (tdop.isPresent()) { topologyDef = tdop.get(); } else { topologyDef = new Topology(); topologyDef.setName(topologyName); } StormSubmitter.submitTopology(topologyName, getStormConf(null, topologyDef.getClusterName()), createTopology(topologyDef)); }
public List<TopologyStatus> getTopologies() throws Exception { List<Topology> topologyDefinitions = dao.listTopologies(); List<StreamingCluster> clusters = dao.listClusters(); List<TopologyStatus> topologies = new ArrayList<>(); for (Topology topologyDef : topologyDefinitions) { TopologySummary topologySummary = getTopologySummery(clusters, topologyDef); if (topologySummary != null) { TopologyStatus t = new TopologyStatus(); t.setName(topologySummary.get_name()); t.setId(topologySummary.get_id()); t.setState(topologySummary.get_status()); t.setTopology(topologyDef); topologies.add(t); } } return topologies; }