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"; +} +