Commit 32e961b4 by hy

add some api for console end-point

parent f8055e3b
package com.tbyf.dataadapter.console.controlle;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.tbyf.dataadapter.api.vo.ProcessorVo;
import com.tbyf.dataadapter.api.vo.Result;
import com.tbyf.dataadapter.task.processor.plugin.DataProcessorExtension;
......@@ -70,7 +71,7 @@ public class PluginController {
file.transferTo(pluginPath);
processorManager.installPlugin(pluginPath.toString());
return Result.ok(true);
} catch (IOException e) {
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.ok(false);
}
......
package com.tbyf.dataadapter.console.controlle;
import com.tbyf.dataadapter.api.vo.Result;
import com.tbyf.dataadapter.console.model.dto.GroupDTO;
import com.tbyf.dataadapter.registry.GroupNode;
import com.tbyf.dataadapter.registry.WorkerRegistry;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -8,7 +9,9 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@RestController
@RequestMapping("/worker")
......@@ -20,6 +23,11 @@ public class WorkerController {
@GetMapping("/groups")
public Result<?> getWorkerGroups() {
List<GroupNode> workerGroups = workerRegistry.getWorkerGroups();
return Result.ok(workerGroups);
return Result.ok(workerGroups.stream().map(g->{
GroupDTO dto = new GroupDTO();
dto.setName(g.getName());
dto.setWorkerNodes(new ArrayList<>(g.getWorkerNodes().values()));
return dto;
}).collect(Collectors.toList()));
}
}
package com.tbyf.dataadapter.console.model.dto;
import com.tbyf.dataadapter.registry.WorkerNode;
import lombok.Data;
import java.util.*;
@Data
public class GroupDTO {
private String name;
private List<WorkerNode> workerNodes = new ArrayList<>();
}
......@@ -63,5 +63,10 @@
<groupId>com.squareup.okhttp3</groupId>
<artifactId>logging-interceptor</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
\ No newline at end of file
......@@ -2,12 +2,14 @@ package com.tbyf.dataadapter.registry;
import lombok.Data;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@Data
public class GroupNode {
private String name;
private Set<WorkerNode> workerNodes = new HashSet<>();
private Map<String, WorkerNode> workerNodes = new HashMap<>();
}
package com.tbyf.dataadapter.registry;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.tbyf.dataadapter.api.impl.WorkerBizClient;
import lombok.Data;
@Data
......@@ -7,4 +9,6 @@ public class WorkerNode {
private String name;
private String address;
@JsonIgnore
private WorkerBizClient client;
}
......@@ -2,6 +2,7 @@ package com.tbyf.dataadapter.registry.support;
import com.tbyf.dataadapter.TimeoutException;
import com.tbyf.dataadapter.Worker;
import com.tbyf.dataadapter.api.impl.WorkerBizClient;
import com.tbyf.dataadapter.registry.GroupNode;
import com.tbyf.dataadapter.registry.WorkerNode;
import com.tbyf.dataadapter.registry.WorkerRegistry;
......@@ -73,17 +74,17 @@ public class ZookeeperWorkerRegistry implements WorkerRegistry {
return;
}
String workerName = ZKPaths.getNodeFromPath(data.getPath());
switch (event.getType()) {
case CHILD_ADDED:
String workerUrl = new String(data.getData(), StandardCharsets.UTF_8);
WorkerNode workerNode = new WorkerNode();
workerNode.setName(workerName);
workerNode.setAddress(workerUrl);
switch (event.getType()) {
case CHILD_ADDED:
groupNodes.get(groupName).getWorkerNodes().add(workerNode);
workerNode.setClient(new WorkerBizClient(workerUrl));
groupNodes.get(groupName).getWorkerNodes().put(workerName, workerNode);
break;
case CHILD_REMOVED:
groupNodes.get(groupName).getWorkerNodes().remove(workerNode);
groupNodes.get(groupName).getWorkerNodes().remove(workerName);
break;
}
});
......
name=w008
group=biz02
group=biz03
registryAddress=127.0.0.1:2181
port=8083
port=8084
pluginsRoot=plugin01
pluginRepositoryUrl=http://localhost:8082/plugin/download
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment