From a2359cd94c82ad61bc32a24bf1d25fc0f9c7cb68 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期二, 24 三月 2026 12:37:40 +0800
Subject: [PATCH] 是否将rabbitmq集成来,进行配置化
---
zy-acs-gateway/src/main/java/com/zy/acs/gateway/handler/AgvPackageServerHandler.java | 53 ++++++++++++++++++++++++++++++++++-------------------
1 files changed, 34 insertions(+), 19 deletions(-)
diff --git a/zy-acs-gateway/src/main/java/com/zy/acs/gateway/handler/AgvPackageServerHandler.java b/zy-acs-gateway/src/main/java/com/zy/acs/gateway/handler/AgvPackageServerHandler.java
index 1674c4a..fd2d322 100644
--- a/zy-acs-gateway/src/main/java/com/zy/acs/gateway/handler/AgvPackageServerHandler.java
+++ b/zy-acs-gateway/src/main/java/com/zy/acs/gateway/handler/AgvPackageServerHandler.java
@@ -1,6 +1,5 @@
package com.zy.acs.gateway.handler;
-import com.alibaba.fastjson.JSON;
import com.zy.acs.common.constant.RedisConstant;
import com.zy.acs.common.domain.AgvProtocol;
import com.zy.acs.common.domain.mq.DeviceMessage;
@@ -18,6 +17,7 @@
import org.slf4j.LoggerFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
/**
@@ -38,6 +38,8 @@
@Autowired
private RabbitTemplate rabbitTemplate;
+ @Value("${spring.rabbitmq.enable}")
+ private Boolean flag;
@Override
@@ -48,7 +50,8 @@
final String uniqueNo = pac.getHeader().getUniqueNo();
- label : switch (pac.getHeader().getProtocolType()){
+ label:
+ switch (pac.getHeader().getProtocolType()) {
case PATH_ACK: // 璺緞鍖� ack
AGV_01_UP agv_01_up = (AGV_01_UP) pac.getBody().getMessageBody();
@@ -65,8 +68,9 @@
ctx.writeAndFlush(pathAckPac);
// 鍐欏叆闃熷垪
- rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.PATH_ACK.name()), new DeviceMessage(pac.getSourceHexStr()));
- rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_DOWN.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.PATH_ACK_RESPONSE.name()), new DeviceMessage(pathAckPac.getSourceHexStr()));
+ saveLogToMq(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.PATH_ACK.name()), new DeviceMessage(pac.getSourceHexStr()));
+ saveLogToMq(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_DOWN.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.PATH_ACK_RESPONSE.name()), new DeviceMessage(pathAckPac.getSourceHexStr()));
+
break label;
@@ -75,7 +79,8 @@
AGV_06_UP agv_06_up = (AGV_06_UP) pac.getBody().getMessageBody();
redis.push(RedisConstant.AGV_COMPLETE_FLAG, AgvProtocol.build(uniqueNo).setMessageBody(agv_06_up));
// 鍐欏叆闃熷垪
- rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.PICK_PLACE_REQUEST.name()), new DeviceMessage(pac.getSourceHexStr()));
+ saveLogToMq(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.PICK_PLACE_REQUEST.name()), new DeviceMessage(pac.getSourceHexStr()));
+
break label;
@@ -87,7 +92,8 @@
, pac.getHeader().getUniqueNo() + "_" + agv_02_up.getSerialNo()
, agv_02_up);
// 鍐欏叆闃熷垪
- rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.COMMAND_ACK.name()), new DeviceMessage(pac.getSourceHexStr()));
+ saveLogToMq(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.COMMAND_ACK.name()), new DeviceMessage(pac.getSourceHexStr()));
+
break label;
@@ -98,7 +104,8 @@
redis.push(RedisConstant.AGV_COMPLETE_FLAG, AgvProtocol.build(uniqueNo).setMessageBody(agv_11_up));
// 鍐欏叆闃熷垪
- rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.ACTION_COMPLETE.name()), new DeviceMessage(pac.getSourceHexStr()));
+ saveLogToMq(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.ACTION_COMPLETE.name()), new DeviceMessage(pac.getSourceHexStr()));
+
// 鍔ㄤ綔瀹屾垚搴旂瓟
if (null != ackType) {
@@ -108,8 +115,8 @@
agv_a1_down.setAckSign((byte) agv_11_up.getCompleteCode());
ctx.writeAndFlush(ackPac);
+ saveLogToMq(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_DOWN.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ackType.name()), new DeviceMessage(ackPac.getSourceHexStr()));
- rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_DOWN.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ackType.name()), new DeviceMessage(ackPac.getSourceHexStr()));
}
break label;
@@ -127,7 +134,8 @@
//
// });
// 鍐欏叆闃熷垪
- rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.DATA_CODE_REPORT.name()), new DeviceMessage(pac.getSourceHexStr()));
+ saveLogToMq(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.DATA_CODE_REPORT.name()), new DeviceMessage(pac.getSourceHexStr()));
+
break label;
@@ -143,9 +151,9 @@
// }
//
// });
-
// 鍐欏叆闃熷垪
- rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.DATA_WITHOUT_CODE_REPORT.name()), new DeviceMessage(pac.getSourceHexStr()));
+ saveLogToMq(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.DATA_WITHOUT_CODE_REPORT.name()), new DeviceMessage(pac.getSourceHexStr()));
+
break label;
@@ -169,10 +177,11 @@
//
// });
// 鍐欏叆闃熷垪
- rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.HEARTBEAT_REPORT.name()), new DeviceMessage(pac.getSourceHexStr()));
+ saveLogToMq(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.HEARTBEAT_REPORT.name()), new DeviceMessage(pac.getSourceHexStr()));
+
break label;
-
+
case SILO_REPORT: // 鏂欎粨淇℃伅鍖�
AGV_70_UP agv_70_up = (AGV_70_UP) pac.getBody().getMessageBody();
@@ -185,9 +194,8 @@
// }
//
// });
-
// 鍐欏叆闃熷垪
- rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.SILO_REPORT.name()), new DeviceMessage(pac.getSourceHexStr()));
+ saveLogToMq(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.SILO_REPORT.name()), new DeviceMessage(pac.getSourceHexStr()));
break label;
@@ -196,14 +204,14 @@
AGV_F0_UP agv_f0_up = (AGV_F0_UP) pac.getBody().getMessageBody();
redis.push(RedisConstant.AGV_DATA_FLAG, AgvProtocol.build(uniqueNo).setMessageBody(agv_f0_up));
// 鍐欏叆闃熷垪
- rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.LOGIN_REPORT.name()), new DeviceMessage(pac.getSourceHexStr()));
+ saveLogToMq(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.LOGIN_REPORT.name()), new DeviceMessage(pac.getSourceHexStr()));
// 鐧诲綍搴旂瓟
if (null != ackType) {
AgvPackage ackPac = AckMsgBuilder.ofSuccess(pac, ackType);
ctx.writeAndFlush(ackPac);
- rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_DOWN.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ackType.name()), new DeviceMessage(ackPac.getSourceHexStr()));
+ saveLogToMq(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_DOWN.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ackType.name()), new DeviceMessage(ackPac.getSourceHexStr()));
}
// 30s redis
@@ -217,7 +225,7 @@
redis.push(RedisConstant.AGV_DATA_FLAG, AgvProtocol.build(uniqueNo).setMessageBody(agv_04_up));
// 鍐欏叆闃熷垪
- rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.FAULT_REPORT.name()), new DeviceMessage(pac.getSourceHexStr()));
+ saveLogToMq(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.FAULT_REPORT.name()), new DeviceMessage(pac.getSourceHexStr()));
break label;
@@ -242,7 +250,14 @@
}
}
-
+ public void saveLogToMq(String topic_exchange, String routingKey, DeviceMessage message) {
+ if (flag && rabbitTemplate.isRunning()) {
+ // 鍐欏叆闃熷垪
+ rabbitTemplate.convertAndSend(topic_exchange, routingKey, message);
+ } else {
+ log.warn("RabbitTemplate is not running, message not sent");
+ }
+ }
}
--
Gitblit v1.9.1