diff --git a/cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/CaffeineCacheUtils.java b/cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/CaffeineCacheUtils.java index 88c8e78..59ac015 100644 --- a/cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/CaffeineCacheUtils.java +++ b/cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/CaffeineCacheUtils.java @@ -14,8 +14,8 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Map; -import java.util.Objects; -import java.util.concurrent.TimeUnit; /** + +/** * @Author: 胡杨 * @Name: CaffeineUtils * @Description: 缓存工具类 @@ -37,7 +37,7 @@ public class CaffeineCacheUtils { public void addCarCache(String vin) { ArrayList caches = new ArrayList<>(); // 从Redis中获取缓存信息 - Map cacheMap = redisService.getCacheMap(CaffeineContent.CAR_VIN+vin); + Map cacheMap = redisService.getCacheMap(CaffeineContent.CAR_VIN_KEY +vin); cacheMap.forEach((key, value) -> { Cache cache = Caffeine.newBuilder().build(); cache.put(key, value); diff --git a/cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/bean/CaffeineManagerBean.java b/cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/bean/CaffeineManagerBean.java index 5c7f922..6c1333d 100644 --- a/cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/bean/CaffeineManagerBean.java +++ b/cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/bean/CaffeineManagerBean.java @@ -1,17 +1,10 @@ package com.muyu.common.caffeine.bean; -import com.github.benmanes.caffeine.cache.Cache; -import com.muyu.common.redis.service.RedisService; -import org.springframework.cache.CacheManager; -import org.springframework.cache.caffeine.CaffeineCache; import org.springframework.cache.support.SimpleCacheManager; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Component; -import javax.annotation.Resource; -import java.util.ArrayList; - /** * @Author: 胡杨 diff --git a/cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/constents/CaffeineContent.java b/cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/constents/CaffeineContent.java index faa0c1b..21fb299 100644 --- a/cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/constents/CaffeineContent.java +++ b/cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/constents/CaffeineContent.java @@ -10,7 +10,7 @@ package com.muyu.common.caffeine.constents; public class CaffeineContent { - public static final String CAR_VIN = "car:Vin"; + public static final String CAR_VIN_KEY = "car:Vin"; public static final String VIN = "vin"; } diff --git a/cloud-common/cloud-common-core/pom.xml b/cloud-common/cloud-common-core/pom.xml index be06f0a..45e6f33 100644 --- a/cloud-common/cloud-common-core/pom.xml +++ b/cloud-common/cloud-common-core/pom.xml @@ -21,6 +21,7 @@ mybatis-plus-join-boot-starter 1.4.11 + org.springframework.cloud diff --git a/cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/constents/KafkaContent.java b/cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/constents/KafkaContent.java new file mode 100644 index 0000000..f9f245c --- /dev/null +++ b/cloud-common/cloud-common-kafka/src/main/java/com/muyu/common/kafka/constents/KafkaContent.java @@ -0,0 +1,20 @@ +package com.muyu.common.kafka.constents; + +import org.springframework.beans.factory.annotation.Value; + +/** + * @Author: 胡杨 + * @Name: CaffeineContent + * @Description: Kafka常量 + * @CreatedDate: 2024/9/26 下午12:06 + * @FilePath: com.muyu.common.caffeine.constents + */ + +public class KafkaContent { + + @Value("${spring.kafka.consumer.group-id}") + public static String GROUP; + + @Value("${spring.kafka.template.default-topic}") + public static String TOPIC; +} diff --git a/cloud-data-processing/pom.xml b/cloud-data-processing/pom.xml index d06b4e2..4d65352 100644 --- a/cloud-data-processing/pom.xml +++ b/cloud-data-processing/pom.xml @@ -18,11 +18,21 @@ + + com.muyu + cloud-common-kafka + + com.muyu cloud-common-caffeine + + com.muyu + cloud-common-rabbit + + com.alibaba.cloud @@ -76,22 +86,13 @@ com.muyu cloud-common-api-doc + + com.muyu - cloud-common-security + cloud-common-xxl - - com.muyu - cloud-common-rabbit - - - - - - - - @@ -110,4 +111,5 @@ + diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/MyDataApplication.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/MyDataApplication.java index 142d45e..05ed5ac 100644 --- a/cloud-data-processing/src/main/java/com/muyu/data/processing/MyDataApplication.java +++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/MyDataApplication.java @@ -2,9 +2,9 @@ package com.muyu.data.processing; import com.muyu.common.security.annotation.EnableCustomConfig; import com.muyu.common.security.annotation.EnableMyFeignClients; -import org.springframework.amqp.rabbit.annotation.EnableRabbit; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; /** * @Author: 胡杨 @@ -17,11 +17,11 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; @EnableCustomConfig //@EnableCustomSwagger2 @EnableMyFeignClients -@EnableRabbit -@SpringBootApplication +@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) public class MyDataApplication { public static void main(String[] args) { SpringApplication.run(MyDataApplication.class, args); System.out.println("MyData 模块启动成功!"); } + } diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/controller/TestController.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/controller/TestController.java new file mode 100644 index 0000000..b97b49e --- /dev/null +++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/controller/TestController.java @@ -0,0 +1,28 @@ +package com.muyu.data.processing.controller; + + +import com.muyu.data.processing.kafka.KafkaProducerTestService; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import lombok.extern.slf4j.Slf4j; + +/** + * @Author: 胡杨 + * @Name: Test + * @Description: + * @CreatedDate: 2024/9/27 上午10:54 + * @FilePath: com.muyu.data.processing.controller + */ +@Slf4j +@RestController +@RequestMapping("/Test") +public class TestController { + + @GetMapping("/testKafka") + public void sendMsg(String msg) { + new KafkaProducerTestService().sendMessage(msg); + } + + +} diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/kafka/KafkaConsumerService.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/kafka/KafkaConsumerService.java new file mode 100644 index 0000000..e6f4e3c --- /dev/null +++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/kafka/KafkaConsumerService.java @@ -0,0 +1,24 @@ +package com.muyu.data.processing.kafka; + + +import io.swagger.v3.oas.annotations.servers.Server; +import lombok.extern.slf4j.Slf4j; +import org.springframework.kafka.annotation.KafkaListener; + +/** + * @Author: 胡杨 + * @Name: KafkaConsumerService + * @Description: kafka消费者 + * @CreatedDate: 2024/9/27 上午9:27 + * @FilePath: com.muyu.data.processing.kafka + */ + +@Slf4j +@Server +public class KafkaConsumerService { + + @KafkaListener(topics = "iov-car-topic", groupId = "iov-car-group") + private void listen(String msg) { + log.info("kafka 消费消息:{}", msg); + } +} diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/kafka/KafkaProducerTestService.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/kafka/KafkaProducerTestService.java new file mode 100644 index 0000000..7def85e --- /dev/null +++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/kafka/KafkaProducerTestService.java @@ -0,0 +1,30 @@ +package com.muyu.data.processing.kafka; + + +import io.swagger.v3.oas.annotations.servers.Server; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.kafka.support.SendResult; + +import java.util.concurrent.CompletableFuture; + +/** + * @Author: 胡杨 + * @Name: KafkaProducerTestService + * @Description: kafka测试生产者 + * @CreatedDate: 2024/9/27 上午9:27 + * @FilePath: com.muyu.data.processing.kafka + */ +@Slf4j +@Server +public class KafkaProducerTestService { + + @Resource + private KafkaTemplate kafkaTemplate; + + public void sendMessage(String msg) { + CompletableFuture> send = kafkaTemplate.send("iov-car-topic", msg); + log.info("kafka 发送消息:{}",msg); + } +} diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/rebbit/DownlineRabbit.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/rebbit/DownlineRabbit.java index 7113ae4..b679a91 100644 --- a/cloud-data-processing/src/main/java/com/muyu/data/processing/rebbit/DownlineRabbit.java +++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/rebbit/DownlineRabbit.java @@ -3,13 +3,13 @@ package com.muyu.data.processing.rebbit; import com.muyu.common.caffeine.CaffeineCacheUtils; import com.rabbitmq.client.Channel; +import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.annotation.Queue; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Component; -import javax.annotation.Resource; import java.io.IOException; import java.util.HashSet; @@ -23,8 +23,7 @@ import java.util.HashSet; @Slf4j @Component public class DownlineRabbit { - @Resource - private CaffeineCacheUtils caffeineCacheUtils; + private CaffeineCacheUtils caffeineCacheUtils = new CaffeineCacheUtils(); private static final HashSet DOWNLINE_SET = new HashSet<>(); diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/rebbit/GoOnlineRabbit.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/rebbit/GoOnlineRabbit.java index b78a6e6..9bfa927 100644 --- a/cloud-data-processing/src/main/java/com/muyu/data/processing/rebbit/GoOnlineRabbit.java +++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/rebbit/GoOnlineRabbit.java @@ -24,8 +24,7 @@ import java.util.HashSet; @Component public class GoOnlineRabbit { - @Resource - private CaffeineCacheUtils caffeineCacheUtils; + private CaffeineCacheUtils caffeineCacheUtils = new CaffeineCacheUtils(); private static final HashSet DATA_SET = new HashSet<>(); diff --git a/cloud-data-processing/src/main/resources/bootstrap.yml b/cloud-data-processing/src/main/resources/bootstrap.yml index 3f60fb5..010e1a4 100644 --- a/cloud-data-processing/src/main/resources/bootstrap.yml +++ b/cloud-data-processing/src/main/resources/bootstrap.yml @@ -1,6 +1,6 @@ # Tomcat server: - port: 9701 + port: 9711 # nacos线上地址 nacos: @@ -55,6 +55,8 @@ spring: - application-xxl-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} # rabbit 配置文件 - application-rabbit-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + # kafka 配置文件 + - application-kafka-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} logging: level: