Quellcode durchsuchen

对应 dagent 的功能

reghao vor 5 Jahren
Ursprung
Commit
ca92dd8bd5
42 geänderte Dateien mit 276 neuen und 115 gelöschten Zeilen
  1. 31 0
      common/src/main/java/cn/reghao/autodop/common/mq/MachineMessageDispatcher.java
  2. 9 0
      common/src/main/java/cn/reghao/autodop/common/mq/MessageDispatcher.java
  3. 1 0
      common/src/main/java/cn/reghao/autodop/common/mq/MessageSender.java
  4. 1 0
      common/src/main/java/cn/reghao/autodop/common/mq/MqMessage.java
  5. 1 0
      common/src/main/java/cn/reghao/autodop/common/mq/MsgType.java
  6. 53 0
      common/src/main/java/cn/reghao/autodop/common/mq/RabbitConsumer.java
  7. 6 10
      common/src/main/java/cn/reghao/autodop/common/mq/RabbitConsumerConfig.java
  8. 35 0
      common/src/main/java/cn/reghao/autodop/common/mq/RabbitProducer.java
  9. 2 2
      common/src/main/java/cn/reghao/autodop/common/mq/protocol/MQMessage.java
  10. 1 1
      common/src/main/java/cn/reghao/autodop/common/mq/protocol/MessageType.java
  11. 9 0
      common/src/main/java/cn/reghao/autodop/common/mq/protocol/app/AppOps.java
  12. 1 1
      common/src/main/java/cn/reghao/autodop/common/mq/protocol/app/DeployArgs.java
  13. 1 1
      common/src/main/java/cn/reghao/autodop/common/mq/protocol/app/LogArgs.java
  14. 1 1
      common/src/main/java/cn/reghao/autodop/common/mq/protocol/app/StatusArgs.java
  15. 1 1
      common/src/main/java/cn/reghao/autodop/common/mq/protocol/machine/MachineHeartbeat.java
  16. 14 0
      common/src/main/java/cn/reghao/autodop/common/mq/protocol/machine/MachineMessage.java
  17. 9 0
      common/src/main/java/cn/reghao/autodop/common/mq/protocol/machine/MachineOps.java
  18. 14 0
      common/src/main/java/cn/reghao/autodop/common/mq/protocol/machine/MachineRegistry.java
  19. 12 0
      common/src/main/java/cn/reghao/autodop/common/mq/protocol/machine/MachineShell.java
  20. 4 1
      common/src/main/java/cn/reghao/autodop/common/mq/protocol/machine/MachineState.java
  21. 1 1
      common/src/main/java/cn/reghao/autodop/common/mq/protocol/machine/ShellArgs.java
  22. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/DmasterApplication.java
  23. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/FileController.java
  24. 0 9
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/protocol/app/AppOps.java
  25. 0 9
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/protocol/machine/MachineOps.java
  26. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/OssService.java
  27. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/auth/controller/IndexController.java
  28. 1 3
      dmaster/src/main/java/cn/reghao/autodop/dmaster/auth/jwt/JwtTokenFilter.java
  29. 0 49
      dmaster/src/main/java/cn/reghao/autodop/dmaster/common/mq/MessageDispatcher.java
  30. 1 2
      dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/AfterAppStart.java
  31. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/AliOss.java
  32. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/BeforeAppShutdown.java
  33. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/SpringBootUtil.java
  34. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/SshUtil.java
  35. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/UserContext.java
  36. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/hibernate/HibernateSessionOps.java
  37. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/hibernate/PrimaryKeyGenerator.java
  38. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/sshc/MyUserInfo.java
  39. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/sshc/SshClient.java
  40. 10 10
      dmaster/src/main/resources/application-dev.yml
  41. 1 1
      dmaster/src/main/resources/application.yml
  42. 43 0
      dmaster/src/test/java/cn/reghao/autodop/common/mq/RabbitProducerTest.java

+ 31 - 0
common/src/main/java/cn/reghao/autodop/common/mq/MachineMessageDispatcher.java

@@ -0,0 +1,31 @@
+package cn.reghao.autodop.common.mq;
+
+import cn.reghao.autodop.common.mq.protocol.machine.MachineHeartbeat;
+import cn.reghao.autodop.common.mq.protocol.machine.MachineOps;
+import cn.reghao.autodop.common.mq.protocol.machine.MachineRegistry;
+import cn.reghao.autodop.common.utils.data.serializer.JsonConverter;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author reghao
+ * @date 2020-12-30 10:26:47
+ */
+@Slf4j
+public class MachineMessageDispatcher implements MessageDispatcher {
+    @Override
+    public void dispatch(String msgType, String msg) {
+        switch (MachineOps.valueOf(msgType)) {
+            case machineRegistry:
+                log.info("机器注册消息...");
+                MachineRegistry machineRegistry = (MachineRegistry) JsonConverter.jsonToObject(msg, MachineRegistry.class);
+                break;
+            case machineHeartbeat:
+                log.info("机器心跳消息...");
+                MachineHeartbeat machineHeartbeat = (MachineHeartbeat) JsonConverter.jsonToObject(msg, MachineHeartbeat.class);
+                break;
+            default:
+                log.info("msg from machine...");
+        }
+    }
+}

+ 9 - 0
common/src/main/java/cn/reghao/autodop/common/mq/MessageDispatcher.java

@@ -0,0 +1,9 @@
+package cn.reghao.autodop.common.mq;
+
+/**
+ * @author reghao
+ * @date 2020-12-30 10:26:47
+ */
+public interface MessageDispatcher {
+    void dispatch(String msgType, String msg);
+}

+ 1 - 0
common/src/main/java/cn/reghao/autodop/common/mq/MessageSender.java

@@ -11,6 +11,7 @@ import org.springframework.stereotype.Component;
  * @author reghao
  * @date 2020-09-03 22:11:18
  */
+@Deprecated
 @Component
 public class MessageSender {
     private RabbitTemplate rabbitTemplate;

+ 1 - 0
common/src/main/java/cn/reghao/autodop/common/mq/MqMessage.java

@@ -6,6 +6,7 @@ import lombok.Data;
  * @author reghao
  * @date 2020-09-04 20:17:45
  */
+@Deprecated
 @Data
 public class MqMessage<T> {
     private String msgType;

+ 1 - 0
common/src/main/java/cn/reghao/autodop/common/mq/MsgType.java

@@ -6,6 +6,7 @@ package cn.reghao.autodop.common.mq;
  * @author reghao
  * @date 2019-10-18 14:31:29
  */
+@Deprecated
 public enum MsgType {
     dagentStart("Plain"), dagentStop("Plain"), dagentHeartbeat("DagentHeartbeat"),
     machineStatus(""),

+ 53 - 0
common/src/main/java/cn/reghao/autodop/common/mq/RabbitConsumer.java

@@ -0,0 +1,53 @@
+package cn.reghao.autodop.common.mq;
+
+import cn.reghao.autodop.common.mq.protocol.MQMessage;
+import cn.reghao.autodop.common.mq.protocol.machine.MachineMessage;
+import cn.reghao.autodop.common.mq.protocol.machine.MachineOps;
+import cn.reghao.autodop.common.mq.protocol.machine.MachineState;
+import cn.reghao.autodop.common.mq.protocol.MessageType;
+import cn.reghao.autodop.common.utils.data.serializer.JsonConverter;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.amqp.core.Message;
+import org.springframework.amqp.core.MessageListener;
+
+/**
+ * 消息分发
+ *
+ * @author reghao
+ * @date 2020-09-04 11:00:22
+ */
+@Slf4j
+public class RabbitConsumer implements MessageListener {
+    private MessageDispatcher messageDispatcher;
+
+    public RabbitConsumer() {
+        this.messageDispatcher = new MachineMessageDispatcher();
+    }
+
+    @Override
+    public void onMessage(Message msg) {
+        String body = new String(msg.getBody());
+        try {
+            MQMessage mqMessage = (MQMessage) JsonConverter.jsonToObject(body, MQMessage.class);
+            String msgType = mqMessage.getMsgType();
+            switch (MessageType.valueOf(msgType)) {
+                case machine:
+                    MachineMessage machineMessage =
+                            (MachineMessage) JsonConverter.jsonToObject(mqMessage.getPayload(), MachineMessage.class);
+                    String machineOps = machineMessage.getMachineOps();
+                    String message = machineMessage.getMessage();
+                    messageDispatcher.dispatch(machineOps, message);
+                    break;
+                case app:
+                    log.info("msg from app...");
+                    break;
+                default:
+            }
+        } catch (Exception e) {
+            log.error(e.getMessage());
+        }
+    }
+
+    void receive(String queue) {
+    }
+}

+ 6 - 10
dmaster/src/main/java/cn/reghao/autodop/dmaster/common/mq/RabbitConfig.java → common/src/main/java/cn/reghao/autodop/common/mq/RabbitConsumerConfig.java

@@ -1,32 +1,28 @@
-package cn.reghao.autodop.dmaster.common.mq;
+package cn.reghao.autodop.common.mq;
 
-import cn.reghao.autodop.common.utils.NetworkUtil;
 import org.springframework.amqp.core.Queue;
 import org.springframework.amqp.rabbit.connection.ConnectionFactory;
 import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
-import java.net.SocketException;
-
 /**
  * @author reghao
  * @date 2020-09-04 10:57:56
  */
 @Configuration
-public class RabbitConfig {
+public class RabbitConsumerConfig {
     @Bean
-    public Queue dagentQueue() throws SocketException {
-        String address = NetworkUtil.hostAddr().get(0).getIpv4();
-        String queueName = "dmaster@" + address;
+    public Queue dagentQueue() {
+        String queueName = "dmaster";
         return new Queue(queueName, true);
     }
 
     @Bean
-    public SimpleMessageListenerContainer messageListenerContainer(ConnectionFactory connectionFactory) throws SocketException {
+    public SimpleMessageListenerContainer messageListenerContainer(ConnectionFactory connectionFactory) {
         SimpleMessageListenerContainer container = new SimpleMessageListenerContainer();
         container.setConnectionFactory(connectionFactory);
-        container.setMessageListener(new MessageDispatcher());
+        container.setMessageListener(new RabbitConsumer());
         container.addQueues(dagentQueue());
         return container;
     }

+ 35 - 0
common/src/main/java/cn/reghao/autodop/common/mq/RabbitProducer.java

@@ -0,0 +1,35 @@
+package cn.reghao.autodop.common.mq;
+
+import cn.reghao.autodop.common.mq.protocol.MQMessage;
+import cn.reghao.autodop.common.result.RpcResult;
+import cn.reghao.autodop.common.utils.data.serializer.JsonConverter;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author reghao
+ * @date 2020-12-30 10:21:23
+ */
+@Component
+public class RabbitProducer {
+    private RabbitTemplate rabbitTemplate;
+
+    public RabbitProducer(RabbitTemplate rabbitTemplate) {
+        this.rabbitTemplate = rabbitTemplate;
+    }
+
+    void send(String routeKey, MQMessage mqMessage) {
+        String msg = JsonConverter.objectToJson(mqMessage);
+        msg = "msg from spring rabbitmq...";
+        rabbitTemplate.convertAndSend(routeKey, msg);
+    }
+
+    public RpcResult callRemote(String routeKey, String msg) {
+        // TODO RPC 调用等待超时,若 RPC 服务端业务处理的时间超过设定的超时,则会引发不可知的错误
+        rabbitTemplate.setReplyTimeout(60_000);
+        // TODO 处理未成功发送到 mq 时的情况
+        // TODO 处理 RPC 服务端未启动时的情况
+        String result = (String) rabbitTemplate.convertSendAndReceive(routeKey, msg);
+        return (RpcResult) JsonConverter.jsonToObject(result, RpcResult.class);
+    }
+}

+ 2 - 2
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/protocol/MQMessage.java → common/src/main/java/cn/reghao/autodop/common/mq/protocol/MQMessage.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.protocol;
+package cn.reghao.autodop.common.mq.protocol;
 
 import lombok.Data;
 
@@ -11,5 +11,5 @@ public class MQMessage {
     private String machineId;
     private String msgType;
     private long sendTime;
-    private Object payload;
+    private String payload;
 }

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/protocol/MessageType.java → common/src/main/java/cn/reghao/autodop/common/mq/protocol/MessageType.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.protocol;
+package cn.reghao.autodop.common.mq.protocol;
 
 /**
  * @author reghao

+ 9 - 0
common/src/main/java/cn/reghao/autodop/common/mq/protocol/app/AppOps.java

@@ -0,0 +1,9 @@
+package cn.reghao.autodop.common.mq.protocol.app;
+
+/**
+ * @author reghao
+ * @date 2020-12-25 19:15:00
+ */
+public enum AppOps {
+    appDeploy, appStatus, appLog
+}

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/protocol/app/DeployArgs.java → common/src/main/java/cn/reghao/autodop/common/mq/protocol/app/DeployArgs.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.protocol.app;
+package cn.reghao.autodop.common.mq.protocol.app;
 
 import lombok.Data;
 

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/protocol/app/LogArgs.java → common/src/main/java/cn/reghao/autodop/common/mq/protocol/app/LogArgs.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.protocol.app;
+package cn.reghao.autodop.common.mq.protocol.app;
 
 import lombok.Data;
 

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/protocol/app/StatusArgs.java → common/src/main/java/cn/reghao/autodop/common/mq/protocol/app/StatusArgs.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.protocol.app;
+package cn.reghao.autodop.common.mq.protocol.app;
 
 import lombok.Data;
 

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/protocol/MachineHeartbeat.java → common/src/main/java/cn/reghao/autodop/common/mq/protocol/machine/MachineHeartbeat.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.protocol;
+package cn.reghao.autodop.common.mq.protocol.machine;
 
 import lombok.Data;
 

+ 14 - 0
common/src/main/java/cn/reghao/autodop/common/mq/protocol/machine/MachineMessage.java

@@ -0,0 +1,14 @@
+package cn.reghao.autodop.common.mq.protocol.machine;
+
+import lombok.Data;
+
+/**
+ * @author reghao
+ * @date 2020-12-30 16:15:56
+ */
+@Data
+public class MachineMessage {
+    private String machineId;
+    private String machineOps;
+    private String message;
+}

+ 9 - 0
common/src/main/java/cn/reghao/autodop/common/mq/protocol/machine/MachineOps.java

@@ -0,0 +1,9 @@
+package cn.reghao.autodop.common.mq.protocol.machine;
+
+/**
+ * @author reghao
+ * @date 2020-12-25 19:15:00
+ */
+public enum MachineOps {
+    machineRegistry, machineHeartbeat, machineState, machineShell
+}

+ 14 - 0
common/src/main/java/cn/reghao/autodop/common/mq/protocol/machine/MachineRegistry.java

@@ -0,0 +1,14 @@
+package cn.reghao.autodop.common.mq.protocol.machine;
+
+import lombok.Data;
+
+/**
+ * @author reghao
+ * @date 2020-12-25 17:53:15
+ */
+@Data
+public class MachineRegistry {
+    private String bootTime;
+    private String osType;
+    private String osArch;
+}

+ 12 - 0
common/src/main/java/cn/reghao/autodop/common/mq/protocol/machine/MachineShell.java

@@ -0,0 +1,12 @@
+package cn.reghao.autodop.common.mq.protocol.machine;
+
+import lombok.Data;
+
+/**
+ * @author reghao
+ * @date 2020-12-25 17:55:46
+ */
+@Data
+public class MachineShell {
+    private String script;
+}

+ 4 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/protocol/MachineState.java → common/src/main/java/cn/reghao/autodop/common/mq/protocol/machine/MachineState.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.protocol;
+package cn.reghao.autodop.common.mq.protocol.machine;
 
 import lombok.Data;
 
@@ -9,5 +9,8 @@ import lombok.Data;
 @Data
 public class MachineState {
     private String machineId;
+    private String machineOps;
     private String bootTime;
+    private String osType;
+    private String osArch;
 }

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/protocol/machine/ShellArgs.java → common/src/main/java/cn/reghao/autodop/common/mq/protocol/machine/ShellArgs.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.app.protocol.machine;
+package cn.reghao.autodop.common.mq.protocol.machine;
 
 import lombok.Data;
 

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/DmasterApplication.java

@@ -1,6 +1,6 @@
 package cn.reghao.autodop.dmaster;
 
-import cn.reghao.autodop.dmaster.common.utils.BeforeAppShutdown;
+import cn.reghao.autodop.dmaster.utils.BeforeAppShutdown;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.domain.EntityScan;

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/controller/FileController.java

@@ -1,6 +1,6 @@
 package cn.reghao.autodop.dmaster.app.controller;
 
-import cn.reghao.autodop.dmaster.common.utils.SpringBootUtil;
+import cn.reghao.autodop.dmaster.utils.SpringBootUtil;
 import cn.reghao.autodop.common.result.WebResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;

+ 0 - 9
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/protocol/app/AppOps.java

@@ -1,9 +0,0 @@
-package cn.reghao.autodop.dmaster.app.protocol.app;
-
-/**
- * @author reghao
- * @date 2020-12-25 19:15:00
- */
-public enum AppOps {
-    deploy, status, log
-}

+ 0 - 9
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/protocol/machine/MachineOps.java

@@ -1,9 +0,0 @@
-package cn.reghao.autodop.dmaster.app.protocol.machine;
-
-/**
- * @author reghao
- * @date 2020-12-25 19:15:00
- */
-public enum MachineOps {
-    state, heartbeat, shell
-}

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/service/OssService.java

@@ -1,7 +1,7 @@
 package cn.reghao.autodop.dmaster.app.service;
 
 import cn.reghao.autodop.dmaster.app.service.build.tools.updater.SvnImpl;
-import cn.reghao.autodop.dmaster.common.utils.AliOss;
+import cn.reghao.autodop.dmaster.utils.AliOss;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.tmatesoft.svn.core.SVNException;

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/auth/controller/IndexController.java

@@ -8,7 +8,7 @@ import cn.reghao.autodop.dmaster.auth.entity.UserAuth;
 import cn.reghao.autodop.dmaster.auth.repository.PermissionRepository;
 import cn.reghao.autodop.dmaster.auth.repository.RoleRepository;
 import cn.reghao.autodop.dmaster.auth.vo.UserAuthVO;
-import cn.reghao.autodop.dmaster.common.utils.UserContext;
+import cn.reghao.autodop.dmaster.utils.UserContext;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;

+ 1 - 3
dmaster/src/main/java/cn/reghao/autodop/dmaster/auth/jwt/JwtTokenFilter.java

@@ -1,9 +1,8 @@
 package cn.reghao.autodop.dmaster.auth.jwt;
 
 import cn.reghao.autodop.dmaster.auth.entity.GrantedAuthorityImpl;
-import cn.reghao.autodop.dmaster.auth.entity.Role;
 import cn.reghao.autodop.dmaster.auth.entity.UserAuth;
-import cn.reghao.autodop.dmaster.common.utils.UserContext;
+import cn.reghao.autodop.dmaster.utils.UserContext;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.web.filter.OncePerRequestFilter;
@@ -12,7 +11,6 @@ import javax.servlet.*;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
-import java.util.Arrays;
 import java.util.Set;
 import java.util.stream.Collectors;
 

+ 0 - 49
dmaster/src/main/java/cn/reghao/autodop/dmaster/common/mq/MessageDispatcher.java

@@ -1,49 +0,0 @@
-package cn.reghao.autodop.dmaster.common.mq;
-
-import cn.reghao.autodop.common.mq.MsgType;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.amqp.core.Message;
-import org.springframework.amqp.core.MessageListener;
-
-/**
- * 消息分发
- *
- * @author reghao
- * @date 2020-09-04 11:00:22
- */
-@Slf4j
-public class MessageDispatcher implements MessageListener {
-    @Override
-    public void onMessage(Message msg) {
-        String body = new String(msg.getBody());
-        JsonObject jsonObject = new JsonParser().parse(body).getAsJsonObject();
-        String msgType = jsonObject.get("msgType").getAsString();
-        try {
-            switch (MsgType.valueOf(msgType)) {
-                case dagentStart:
-                    log.info("dagent 启动时发送的消息 -> {}", body);
-                    break;
-                case dagentStop:
-                    log.info("dagent 结束时发送的消息 -> {}", body);
-                    break;
-                case dagentHeartbeat:
-                    log.info("dagent 心跳 -> {}", body);
-                    break;
-                default:
-            }
-        } catch (Exception e) {
-            log.error(e.getMessage());
-        }
-    }
-
-    private void handleAgentStart(String msg) {
-    }
-
-    private void handleAgentStop(String msg) {
-    }
-
-    private void handleAgentHeartbeat(String msg) {
-    }
-}

+ 1 - 2
dmaster/src/main/java/cn/reghao/autodop/dmaster/common/utils/AfterAppStart.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/AfterAppStart.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.common.utils;
+package cn.reghao.autodop.dmaster.utils;
 
 import cn.reghao.autodop.common.utils.FileOps;
 import cn.reghao.autodop.common.utils.text.TextFile;
@@ -13,7 +13,6 @@ import org.springframework.boot.ApplicationRunner;
 import org.springframework.stereotype.Component;
 
 import java.io.File;
-import java.net.SocketException;
 
 /**
  * 应用启动完成后进行系统预检查:

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/common/utils/AliOss.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/AliOss.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.common.utils;
+package cn.reghao.autodop.dmaster.utils;
 
 import cn.reghao.autodop.dmaster.common.config.OssProperties;
 import com.aliyun.oss.OSSClient;

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/common/utils/BeforeAppShutdown.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/BeforeAppShutdown.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.common.utils;
+package cn.reghao.autodop.dmaster.utils;
 
 import lombok.extern.slf4j.Slf4j;
 import org.apache.catalina.connector.Connector;

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/common/utils/SpringBootUtil.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/SpringBootUtil.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.common.utils;
+package cn.reghao.autodop.dmaster.utils;
 
 import cn.reghao.autodop.common.utils.FileOps;
 import lombok.extern.slf4j.Slf4j;

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/common/utils/SshUtil.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/SshUtil.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.common.utils;
+package cn.reghao.autodop.dmaster.utils;
 
 import com.jcraft.jsch.*;
 

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/common/utils/UserContext.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/UserContext.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.common.utils;
+package cn.reghao.autodop.dmaster.utils;
 
 import cn.reghao.autodop.dmaster.auth.entity.UserAuth;
 

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/common/utils/hibernate/HibernateSessionOps.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/hibernate/HibernateSessionOps.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.common.utils.hibernate;
+package cn.reghao.autodop.dmaster.utils.hibernate;
 
 import org.hibernate.Session;
 import org.springframework.stereotype.Component;

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/common/utils/hibernate/PrimaryKeyGenerator.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/hibernate/PrimaryKeyGenerator.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.common.utils.hibernate;
+package cn.reghao.autodop.dmaster.utils.hibernate;
 
 import org.hibernate.HibernateException;
 import org.hibernate.MappingException;

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/common/utils/sshc/MyUserInfo.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/sshc/MyUserInfo.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.common.utils.sshc;
+package cn.reghao.autodop.dmaster.utils.sshc;
 
 import com.jcraft.jsch.UserInfo;
 

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/common/utils/sshc/SshClient.java → dmaster/src/main/java/cn/reghao/autodop/dmaster/utils/sshc/SshClient.java

@@ -1,4 +1,4 @@
-package cn.reghao.autodop.dmaster.common.utils.sshc;
+package cn.reghao.autodop.dmaster.utils.sshc;
 
 import com.jcraft.jsch.*;
 

+ 10 - 10
dmaster/src/main/resources/application-dev.yml

@@ -1,19 +1,19 @@
 spring:
   datasource:
     url: jdbc:mysql://localhost/reghao_autodop_rdb?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8
-    username: reghao
-    password: 12345678
+    username: dev
+    password: Dev@12345678
   data:
     mongodb:
       uri: mongodb://localhost/log
   rabbitmq:
-    host: mq.srv.iquizoo.com
+#    host: mq.srv.iquizoo.com
+#    port: 5672
+#    username: iquizoo-mq1
+#    password: z2pT1PXR
+#    virtual-host: /
+    host: localhost
     port: 5672
-    username: iquizoo-mq1
-    password: z2pT1PXR
     virtual-host: /
-#    host: localhost
-#    port: 5672
-#    username: reghao
-#    password: 12345678
-#    virtual-host: /
+    username: dev
+    password: Dev@12345678

+ 1 - 1
dmaster/src/main/resources/application.yml

@@ -1,5 +1,5 @@
 server:
-  port: 4000
+  port: 4010
 spring:
   application:
     name: autodop-master

+ 43 - 0
dmaster/src/test/java/cn/reghao/autodop/common/mq/RabbitProducerTest.java

@@ -0,0 +1,43 @@
+package cn.reghao.autodop.common.mq;
+
+import cn.reghao.autodop.common.mq.protocol.MQMessage;
+import cn.reghao.autodop.common.mq.protocol.MessageType;
+import cn.reghao.autodop.dmaster.DmasterApplication;
+import lombok.extern.slf4j.Slf4j;
+import org.junit.jupiter.api.Test;
+
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.ActiveProfiles;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@Slf4j
+@ActiveProfiles("dev")
+@SpringBootTest(classes = DmasterApplication.class)
+@RunWith(SpringRunner.class)
+class RabbitProducerTest {
+    @Autowired
+    private RabbitProducer rabbitProducer;
+
+    @Test
+    void send() throws InterruptedException {
+        String queueName = "dagent";
+        MQMessage mqMessage = new MQMessage();
+        mqMessage.setMachineId("1234567890");
+        mqMessage.setMsgType(MessageType.machine.name());
+        mqMessage.setSendTime(System.currentTimeMillis());
+        mqMessage.setPayload("test test");
+
+        while (true) {
+            Thread.sleep(100);
+            rabbitProducer.send(queueName, mqMessage);
+            log.info("发送消息...");
+        }
+    }
+
+    @Test
+    void callRemote() {
+
+    }
+}