|
|
@@ -1,11 +1,12 @@
|
|
|
package cn.reghao.autodop.dagent.mq;
|
|
|
|
|
|
import cn.reghao.autodop.common.deploy.DeployConfig;
|
|
|
-import cn.reghao.autodop.common.mq.MqMessage;
|
|
|
-import cn.reghao.autodop.common.mq.MsgType;
|
|
|
-import cn.reghao.autodop.common.mq.RpcResult;
|
|
|
-import cn.reghao.autodop.common.mq.Serializer;
|
|
|
+import cn.reghao.autodop.common.mq.*;
|
|
|
+import cn.reghao.autodop.common.result.RpcResult;
|
|
|
+import cn.reghao.autodop.common.utils.JsonUtil;
|
|
|
import cn.reghao.autodop.dagent.app.deploy.AppDeployService;
|
|
|
+import com.google.gson.Gson;
|
|
|
+import com.google.gson.JsonObject;
|
|
|
import com.rabbitmq.client.Channel;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.amqp.core.Message;
|
|
|
@@ -14,14 +15,16 @@ import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
|
|
import org.springframework.amqp.rabbit.listener.api.ChannelAwareMessageListener;
|
|
|
|
|
|
/**
|
|
|
+ * RPC 调用分发
|
|
|
+ *
|
|
|
* @author reghao
|
|
|
* @date 2020-09-04 11:00:22
|
|
|
*/
|
|
|
@Slf4j
|
|
|
-public class MessageDispatcher implements ChannelAwareMessageListener {
|
|
|
+public class RemoteCallDispatcher implements ChannelAwareMessageListener {
|
|
|
private RabbitTemplate rabbitTemplate;
|
|
|
|
|
|
- public MessageDispatcher(RabbitTemplate rabbitTemplate) {
|
|
|
+ public RemoteCallDispatcher(RabbitTemplate rabbitTemplate) {
|
|
|
this.rabbitTemplate = rabbitTemplate;
|
|
|
}
|
|
|
|
|
|
@@ -29,11 +32,12 @@ public class MessageDispatcher implements ChannelAwareMessageListener {
|
|
|
public void onMessage(Message msg, Channel channel) {
|
|
|
MessageProperties messageProperties = msg.getMessageProperties();
|
|
|
String body = new String(msg.getBody());
|
|
|
- MqMessage mqMessage = (MqMessage) Serializer.deserialize(body, MqMessage.class);
|
|
|
+ JsonObject jsonObject = JsonUtil.jsonObject(body);
|
|
|
+ String msgType = jsonObject.get("msgType").getAsString();
|
|
|
try {
|
|
|
- switch (MsgType.valueOf(mqMessage.getMsgType())) {
|
|
|
+ switch (MsgType.valueOf(msgType)) {
|
|
|
case deploy:
|
|
|
- DeployConfig deployConfig = (DeployConfig) mqMessage.getMsg();
|
|
|
+ DeployConfig deployConfig = new Gson().fromJson(jsonObject.get("msg").toString(), DeployConfig.class);
|
|
|
AppDeployService appDeployService = new AppDeployService();
|
|
|
appDeployService.deploy(deployConfig);
|
|
|
break;
|
|
|
@@ -46,7 +50,6 @@ public class MessageDispatcher implements ChannelAwareMessageListener {
|
|
|
}
|
|
|
sendResult(messageProperties, RpcResult.success());
|
|
|
} catch (Exception e) {
|
|
|
- //e.printStackTrace();
|
|
|
sendResult(messageProperties, RpcResult.fail(e.getMessage()));
|
|
|
}
|
|
|
//channel.basicAck(msg.getMessageProperties().getDeliveryTag(), false);
|