From 628b8d1fab737d1654bb7e5ae68e37ef5b3d21dc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=BC=A0=E8=85=BE?= <3467447354@qq.com>
Date: Thu, 10 Oct 2024 17:23:41 +0800
Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=E8=BD=A6=E8=BE=86=E4=B8=8A?=
=?UTF-8?q?=E7=BA=BF=E6=B6=88=E6=81=AF=E6=B6=88=E8=B4=B9=E9=80=BB=E8=BE=91?=
=?UTF-8?q?=E5=B9=B6=E4=BC=98=E5=8C=96=E7=BD=91=E5=85=B3=E8=B7=AF=E7=94=B1?=
=?UTF-8?q?=E9=85=8D=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 重构了CarOnlineConsumer类,实现了车辆上线消息的监听和处理
- 新增了车辆网关交换机、队列和绑定的配置- 引入了cloud-modules-enterprise-cache依赖
- 添加了VehicleGatewayConstants类,用于定义车辆网关相关的常量
---
cloud-modules/cloud-modules-carData/pom.xml | 6 +++
.../carData/consumer/CarOnlineConsumer.java | 47 +++++++++++++------
.../consumer/VehicleGatewayConstants.java | 22 +++++++++
3 files changed, 60 insertions(+), 15 deletions(-)
create mode 100644 cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/consumer/VehicleGatewayConstants.java
diff --git a/cloud-modules/cloud-modules-carData/pom.xml b/cloud-modules/cloud-modules-carData/pom.xml
index 3d58982..20ca8a4 100644
--- a/cloud-modules/cloud-modules-carData/pom.xml
+++ b/cloud-modules/cloud-modules-carData/pom.xml
@@ -100,5 +100,11 @@
com.muyu
cloud-common-rabbit
+
+ com.muyu
+ cloud-modules-enterprise-cache
+ 3.6.3
+ compile
+
diff --git a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/consumer/CarOnlineConsumer.java b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/consumer/CarOnlineConsumer.java
index 188c326..3f7ef17 100644
--- a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/consumer/CarOnlineConsumer.java
+++ b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/consumer/CarOnlineConsumer.java
@@ -1,16 +1,16 @@
package com.muyu.carData.consumer;
import com.muyu.carData.util.CacheUtil;
-import com.muyu.domain.FaultCodeCache;
-import com.muyu.enterprise.cache.car.VehicleCacheCarInformationAddService;
-import com.muyu.enterprise.cache.car.VehicleCacheCarInformationFenceRespService;
import com.muyu.enterprise.cache.faultCode.VehicleCacheFaultCodeAddService;
import lombok.extern.log4j.Log4j2;
-import org.springframework.amqp.rabbit.annotation.Exchange;
-import org.springframework.amqp.rabbit.annotation.Queue;
-import org.springframework.amqp.rabbit.annotation.QueueBinding;
+import org.springframework.amqp.core.Binding;
+import org.springframework.amqp.core.BindingBuilder;
+import org.springframework.amqp.core.DirectExchange;
+import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Component;
/**车辆上线消费者
@@ -33,14 +33,31 @@ public class CarOnlineConsumer {
- @RabbitListener(bindings = @QueueBinding(
- value = @Queue(value = "CAR_ONLINE",durable = "true"),
- exchange = @Exchange(value = "ONLINE_EXCHANGE",type = "fanout")
- ))
- public void online(String vin){
- log.info("车辆vin:{},已上线,开始消费",vin);
- FaultCodeCache faultCodeCache = vehicleCacheCarInformationAddService
- .get(vehicleCacheCarInformationAddService.keyPre()+vin);
- cacheUtil.put(vin,faultCodeCache);
+ /**
+ * 创建网关路由交换机
+ * @return
+ */
+ @Bean
+ public DirectExchange initVehicleGatewayExchange(){
+ return new DirectExchange(VehicleGatewayConstants.VEHICLE_GETAWAY_EXCHANGE);
+ }
+
+ @Bean
+ @Primary
+ public Queue initQueue(){
+ return new Queue("test", true);
+ }
+
+ @Bean
+ public Binding binding1a(DirectExchange initVehicleGatewayExchange,
+ Queue initQueue) {
+ return BindingBuilder.bind(initQueue)
+ .to(initVehicleGatewayExchange)
+ .with(VehicleGatewayConstants.VEHICLE_GETAWAY_ROUTING_KEY);
+ }
+
+ @RabbitListener(queues = "test")
+ public void msg(String msg){
+ log.info(msg);
}
}
diff --git a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/consumer/VehicleGatewayConstants.java b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/consumer/VehicleGatewayConstants.java
new file mode 100644
index 0000000..2575f6f
--- /dev/null
+++ b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/consumer/VehicleGatewayConstants.java
@@ -0,0 +1,22 @@
+package com.muyu.carData.consumer;
+
+/**
+ * @Author:蓬叁
+ * @Package:com.muyu.common.rabbit.contants
+ * @Project:cloud-server-8
+ * @name:VehicleGatewayContantsA
+ * @Date:2024/10/10 上午9:02
+ */
+public class VehicleGatewayConstants {
+
+ /**
+ * 车辆网关交换机
+ */
+ public final static String VEHICLE_GETAWAY_EXCHANGE = "vehicle.getaway";
+
+ /**
+ * 车辆网关交换机上线路由键A
+ */
+ public final static String VEHICLE_GETAWAY_ROUTING_KEY = "vehicle.getaway.online";
+}
+