From 911a7883ce979dafc4fb322c725829e0e616103e Mon Sep 17 00:00:00 2001 From: eson <474420502@qq.com> Date: Thu, 2 Jun 2022 01:55:54 +0800 Subject: [PATCH] finish --- .../java/com/yuandian/dataflow/Server.java | 10 ++++-- .../yuandian/dataflow/controller/TaskLog.java | 32 +++++++++++-------- .../dataflow/statemachine/RaftClosure.java | 1 + .../dataflow/statemachine/StateMachine.java | 5 +-- 4 files changed, 30 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/yuandian/dataflow/Server.java b/src/main/java/com/yuandian/dataflow/Server.java index 3b6a30b..be88c3d 100644 --- a/src/main/java/com/yuandian/dataflow/Server.java +++ b/src/main/java/com/yuandian/dataflow/Server.java @@ -54,10 +54,15 @@ public class Server { @Autowired public static Node node; + public static RaftClosure done; public static Node GetNode() { return node; } + + public static RaftClosure GetDone() { + return done; + } public static void main(String[] args) { @@ -92,12 +97,13 @@ public class Server { RaftGroupService cluster = new RaftGroupService(groupId, serverId, nodeOptions); node = cluster.start(); + done = new RaftClosure(); System.setProperty("server.port", sprPort); SpringApplication.run(Server.class, args); - Closure done = new RaftClosure(); - node.shutdown(done); + + // node.shutdown(done); } } diff --git a/src/main/java/com/yuandian/dataflow/controller/TaskLog.java b/src/main/java/com/yuandian/dataflow/controller/TaskLog.java index f1f1b74..4bbb37c 100644 --- a/src/main/java/com/yuandian/dataflow/controller/TaskLog.java +++ b/src/main/java/com/yuandian/dataflow/controller/TaskLog.java @@ -20,34 +20,38 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import com.alipay.sofa.jraft.Node; @Controller public class TaskLog { private static final Logger LOG = LoggerFactory.getLogger(TaskLog.class); + private static Node node = Server.GetNode(); @GetMapping(path = "/test") - public ResponseEntity greeting() { + public ResponseEntity greeting() { Task task = new Task(); - Closure done = new RaftClosure(); - task.setData(ByteBuffer.wrap("hello".getBytes())); - task.setDone( done); - LOG.info( done.toString()); - LOG.info(Server.GetNode().toString()); - JsonObject response = new JsonObject(); + + + + + + LOG.error(node.toString()); + - if (Server.GetNode() == null) { - return new ResponseEntity(response, HttpStatus.OK); - } - Server.GetNode() - .apply(task); + + RaftClosure done = new RaftClosure(); + task.setData(ByteBuffer.wrap("hello".getBytes())); + task.setDone(done); + Server.GetNode().apply(task); + - + JsonObject response = new JsonObject(); response.addProperty("status", "success"); response.addProperty("apply", "hello"); - return new ResponseEntity(response, HttpStatus.OK); + return new ResponseEntity(response.toString(), HttpStatus.OK); } } diff --git a/src/main/java/com/yuandian/dataflow/statemachine/RaftClosure.java b/src/main/java/com/yuandian/dataflow/statemachine/RaftClosure.java index 2746294..779a1a2 100644 --- a/src/main/java/com/yuandian/dataflow/statemachine/RaftClosure.java +++ b/src/main/java/com/yuandian/dataflow/statemachine/RaftClosure.java @@ -16,6 +16,7 @@ public class RaftClosure implements Closure { LOG.info("Task completed with status"+status.getCode()); LOG.info("Task completed with "+status.getErrorMsg()); LOG.info("Task completed with "+status.getRaftError()); + } // @Override diff --git a/src/main/java/com/yuandian/dataflow/statemachine/StateMachine.java b/src/main/java/com/yuandian/dataflow/statemachine/StateMachine.java index a83c756..ef1fc50 100644 --- a/src/main/java/com/yuandian/dataflow/statemachine/StateMachine.java +++ b/src/main/java/com/yuandian/dataflow/statemachine/StateMachine.java @@ -57,10 +57,11 @@ public class StateMachine extends StateMachineAdapter { // This task is applied by this node, get value from closure to avoid additional // parsing. - LOG.debug("done:%s",iter.getData().toString()); + LOG.error("done:%1$s",iter.getData().toString()); + } else { // Have to parse FetchAddRequest from this user log. - LOG.debug("null:%s",iter.getData().toString()); + LOG.error("null:%1$s",iter.getData().toString()); } iter.next();