From 6f52789cc04433d56967eb9692769ea0410d9b1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=85=BE?= <3467447354@qq.com> Date: Mon, 30 Sep 2024 09:03:17 +0800 Subject: [PATCH] commit()yml --- cloud-modules/cloud-modules-carData/pom.xml | 4 +++ .../com/muyu/carData/CarDataApplication.java | 6 ++-- .../config/kafkaconfig/KafkaConfig.java | 2 +- .../carData/consumer/MyKafkaConsumer.java | 2 +- .../CacheController.java | 2 +- .../IotDBController.java | 4 ++- .../KafkaProducerController.java | 21 +++++--------- .../com/muyu/carData/event/EsSaveEvent.java | 22 ++++++++++++++ .../carData/listener/CustomEventListener.java | 22 ++++++++++++++ .../com/muyu/carData/listener/MyListener.java | 20 +++++++++++++ .../pulisher/CustomEventPublisher.java | 29 +++++++++++++++++++ 11 files changed, 115 insertions(+), 19 deletions(-) rename cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/{testcontroller => controller}/CacheController.java (97%) rename cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/{testcontroller => controller}/IotDBController.java (97%) rename cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/{testcontroller => controller}/KafkaProducerController.java (68%) create mode 100644 cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/event/EsSaveEvent.java create mode 100644 cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/listener/CustomEventListener.java create mode 100644 cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/listener/MyListener.java create mode 100644 cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/pulisher/CustomEventPublisher.java diff --git a/cloud-modules/cloud-modules-carData/pom.xml b/cloud-modules/cloud-modules-carData/pom.xml index c1ab988..53d679b 100644 --- a/cloud-modules/cloud-modules-carData/pom.xml +++ b/cloud-modules/cloud-modules-carData/pom.xml @@ -92,5 +92,9 @@ iotdb-session 0.13.1 + + com.muyu + cloud-common-rabbit + diff --git a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/CarDataApplication.java b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/CarDataApplication.java index 6ee448e..50b42da 100644 --- a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/CarDataApplication.java +++ b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/CarDataApplication.java @@ -1,5 +1,6 @@ package com.muyu.carData; +import com.muyu.carData.listener.MyListener; import com.muyu.common.security.annotation.EnableMyFeignClients; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -19,7 +20,8 @@ import javax.swing.*; public class CarDataApplication { public static void main(String[] args) { - SpringApplication.run(CarDataApplication.class,args); - System.out.println("caused: Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer;;caused: java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer;"); + SpringApplication application = new SpringApplication(CarDataApplication.class); + application.addListeners(new MyListener()); + application.run(args); } } diff --git a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/config/kafkaconfig/KafkaConfig.java b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/config/kafkaconfig/KafkaConfig.java index 23b395b..bcf8999 100644 --- a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/config/kafkaconfig/KafkaConfig.java +++ b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/config/kafkaconfig/KafkaConfig.java @@ -28,7 +28,7 @@ public class KafkaConfig { //生产者可用于缓冲等待发送到服务器的记录的总内存字节数 configs.put("buffer-memory",3554432); /** - *生产者producer要求leader节点在考虑完成请求之前收到的确认数,用于控制发送记录在服务端的持久化 + * ,用于控制发送记录在服务端的持久化 *acks=0,设置为0,则生产者producer将不会等待来自服务器的任何确认.该记录将立即添加到套接字(socket)缓冲区并视为已发送 * .在这种情况下,无法保证服务器已收到记录,并且重试配置(retries)将不会生效(因为客户端通常不会知道任何故障),每条记录返回的偏移量始终设置为-1. *acks=1,设置为1,leader节点会把记录写入本地日志,不需要等待所有follower节点完全确认就会立即应答producer.在这种情况下, diff --git a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/consumer/MyKafkaConsumer.java b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/consumer/MyKafkaConsumer.java index 7e6fcb9..a661bfc 100644 --- a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/consumer/MyKafkaConsumer.java +++ b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/consumer/MyKafkaConsumer.java @@ -15,7 +15,7 @@ import org.springframework.stereotype.Component; import java.time.Duration; import java.util.Collection; -/** +/**卡夫卡消费者 * @Author:张腾 * @Package:com.muyu.carData.consumer * @Project:cloud-server-8 diff --git a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/testcontroller/CacheController.java b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/controller/CacheController.java similarity index 97% rename from cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/testcontroller/CacheController.java rename to cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/controller/CacheController.java index 436c63f..f2d2c53 100644 --- a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/testcontroller/CacheController.java +++ b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/controller/CacheController.java @@ -1,4 +1,4 @@ -package com.muyu.carData.testcontroller; +package com.muyu.carData.controller; import com.github.benmanes.caffeine.cache.Cache; import com.muyu.carData.config.cacheconfig.CaffeineConfig; diff --git a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/testcontroller/IotDBController.java b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/controller/IotDBController.java similarity index 97% rename from cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/testcontroller/IotDBController.java rename to cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/controller/IotDBController.java index d93c8d3..0becba4 100644 --- a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/testcontroller/IotDBController.java +++ b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/controller/IotDBController.java @@ -1,4 +1,4 @@ -package com.muyu.carData.testcontroller; +package com.muyu.carData.controller; import com.muyu.carData.config.lotdbconfig.IotDBSessionConfig; import lombok.extern.log4j.Log4j2; @@ -44,11 +44,13 @@ public class IotDBController { @GetMapping("/insertData/{insertSize}/{count}") public String insert(@PathVariable(name = "insertSize") int insertSize,@PathVariable(name = "count") int count) throws IoTDBConnectionException, StatementExecutionException { Session session = iotDBSessionConfig.iotSession(); + //schemaList 属性及类型 List schemaList = new ArrayList<>(); schemaList.add(new MeasurementSchema("id", TSDataType.INT32)); schemaList.add(new MeasurementSchema("name", TSDataType.TEXT)); schemaList.add(new MeasurementSchema("sex", TSDataType.TEXT)); + //tablet 封装数据 Tablet tablet = new Tablet("root.yang.baling", schemaList); //以当前时间戳作为插入的起始时间戳 diff --git a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/testcontroller/KafkaProducerController.java b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/controller/KafkaProducerController.java similarity index 68% rename from cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/testcontroller/KafkaProducerController.java rename to cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/controller/KafkaProducerController.java index 2dc6bb9..b167ef7 100644 --- a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/testcontroller/KafkaProducerController.java +++ b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/controller/KafkaProducerController.java @@ -1,7 +1,6 @@ -package com.muyu.carData.testcontroller; +package com.muyu.carData.controller; import com.alibaba.fastjson.JSONObject; -import com.muyu.carData.pojo.Student; import lombok.extern.log4j.Log4j2; import org.apache.kafka.clients.producer.KafkaProducer; import org.apache.kafka.clients.producer.ProducerRecord; @@ -25,21 +24,15 @@ public class KafkaProducerController { @Autowired private KafkaProducer kafkaProducer; - private final String topicName = "test"; + private final String topicName = "carJsons"; - @GetMapping("/produceTest") - public String produceTest() { + @GetMapping("/producer") + public String produceTest(JSONObject data) { try { - Student stu = Student.builder().id(2) - .name("杨闪闪") - .sex("男") - .build(); - String stuStr = JSONObject.toJSONString(stu); log.info("Topic:{}", topicName); - log.info("Java对象:{}",stu); - log.info("转换为JSON:{}",stuStr); + log.info("转换为JSON:{}",data); //使用KafkaProducer发送消息 - ProducerRecord stringProducerRecord = new ProducerRecord<>(topicName, stuStr); + ProducerRecord stringProducerRecord = new ProducerRecord(topicName, data); kafkaProducer.send(stringProducerRecord); }catch (Exception e){ log.error("Producer写入Topic异常,异常信息是:{}",e.getMessage()); @@ -47,4 +40,6 @@ public class KafkaProducerController { return "消息发送成功"; } + + } diff --git a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/event/EsSaveEvent.java b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/event/EsSaveEvent.java new file mode 100644 index 0000000..f4d689f --- /dev/null +++ b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/event/EsSaveEvent.java @@ -0,0 +1,22 @@ +package com.muyu.carData.event; + +import com.alibaba.fastjson.JSONObject; +import org.springframework.context.ApplicationEvent; + +/**自定义事件 + * @Author:张腾 + * @Package:com.muyu.carData.event + * @Project:cloud-server-8 + * @name:EsSaveEvent + * @Date:2024/9/29 21:15 + */ +public class EsSaveEvent extends ApplicationEvent { + + private JSONObject data; + + + public EsSaveEvent(JSONObject source) { + super(source); + this.data = source; + } +} diff --git a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/listener/CustomEventListener.java b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/listener/CustomEventListener.java new file mode 100644 index 0000000..4d63af0 --- /dev/null +++ b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/listener/CustomEventListener.java @@ -0,0 +1,22 @@ +package com.muyu.carData.listener; + +import com.muyu.carData.event.EsSaveEvent; +import org.springframework.context.event.EventListener; +import org.springframework.stereotype.Component; + +/** + * @Author:张腾 + * @Package:com.muyu.carData.listener + * @Project:cloud-server-8 + * @name:CustomEventListener + * @Date:2024/9/29 23:49 + */ +@Component +public class CustomEventListener { + + @EventListener + public void handMyEvent(EsSaveEvent event){ + //处理事件详情 + + } +} diff --git a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/listener/MyListener.java b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/listener/MyListener.java new file mode 100644 index 0000000..5bfcb26 --- /dev/null +++ b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/listener/MyListener.java @@ -0,0 +1,20 @@ +package com.muyu.carData.listener; + +import com.muyu.carData.event.EsSaveEvent; +import lombok.extern.log4j.Log4j2; +import org.springframework.context.ApplicationListener; + +/**自定义监听器 + * @Author:张腾 + * @Package:com.muyu.carData.listener + * @Project:cloud-server-8 + * @name:MyListener + * @Date:2024/9/29 21:18 + */ +@Log4j2 +public class MyListener implements ApplicationListener { + @Override + public void onApplicationEvent(EsSaveEvent event) { + log.info("监听到自定义事件........"); + } +} diff --git a/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/pulisher/CustomEventPublisher.java b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/pulisher/CustomEventPublisher.java new file mode 100644 index 0000000..2a32391 --- /dev/null +++ b/cloud-modules/cloud-modules-carData/src/main/java/com/muyu/carData/pulisher/CustomEventPublisher.java @@ -0,0 +1,29 @@ +package com.muyu.carData.pulisher; + +import com.alibaba.fastjson.JSONObject; +import com.muyu.carData.event.EsSaveEvent; +import lombok.AllArgsConstructor; +import lombok.extern.log4j.Log4j2; +import org.springframework.context.ApplicationEventPublisher; +import org.springframework.stereotype.Component; + +/**事件发布测试 + * @Author:张腾 + * @Package:com.muyu.carData.pulisher + * @Project:cloud-server-8 + * @name:CustomEventPublisher + * @Date:2024/9/29 23:51 + */ +@Log4j2 +@Component +@AllArgsConstructor +public class CustomEventPublisher { + + private ApplicationEventPublisher applicationEventPublisher; + + public void publish(JSONObject data){ + EsSaveEvent esSaveEvent = new EsSaveEvent(data); + applicationEventPublisher.publishEvent(esSaveEvent); + log.info("事件发布成功 - 消息是:{}",data); + } +}