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