From ec51998aafa28370566d630dc3163803e2acec23 Mon Sep 17 00:00:00 2001
From: fst1996 <2411194573@qq.com>
Date: Tue, 28 Nov 2023 00:08:38 +0800
Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=A7=A3=E6=9E=90=E8=B6=85?=
=?UTF-8?q?=E7=BA=A7=E5=A4=A7=E6=94=B9=E5=8A=A8=EF=BC=81=EF=BC=81=EF=BC=81?=
=?UTF-8?q?=EF=BC=81=EF=BC=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Dockerfile | 2 +-
car-data-common/pom.xml | 50 ----
car-data-remote/pom.xml | 28 --
car-data-server/pom.xml | 115 --------
.../server/config/KafkaConsumerConfig.java | 111 --------
.../server/config/KafkaProviderConfig.java | 89 ------
.../server/controller/KafkaController.java | 47 ----
.../server/listeners/KafkaListenerTest.java | 43 ---
.../data/server/test/KafkaMessageTest.java | 74 -----
pom.xml | 137 +++++++++-
.../com/god/data}/GodCarDataApplication.java | 0
.../god/data/common/domain/CarMessage.java | 256 ++++++++++++++++++
.../god/data/common/domain/LogMessage.java | 25 ++
.../config/kafka/KafkaConsumerConfig.java | 89 ++++++
.../config/kafka}/KafkaSendResultHandler.java | 2 +-
.../kafka}/MyKafkaListenerErrorHandler.java | 2 +-
.../rabbitmq/ConfirmCallbackConfig.java | 48 ++++
.../config/rabbitmq/ReturnCallbackConfig.java | 41 +++
.../com/god/data/contents/KafkaContent.java | 13 +
.../god/data/contents/RabbitmqContent.java | 9 +
.../god/data/listeners/KafkaListenerTest.java | 42 +++
.../god/data/partitioner/MyPartitioner.java | 43 +++
.../god/data/rabbitmq/producer/Sender.java | 37 +++
.../com/god/data/service/EventService.java | 27 ++
.../god/data/service/ParseDataService.java | 65 +++++
.../service/impl/ElectronicFenceEvent.java | 28 ++
.../data/service/impl/FaultAlarmEvent.java | 45 +++
.../service/impl/RealTimeTrajectoryEvent.java | 28 ++
.../com/god/data/test/KafkaMessageTest.java | 69 +++++
src/main/java/com/god/data/test/Test007.java | 34 +++
.../java/com/god/data/utils/AnalyzeUtils.java | 90 ++++++
.../src => src}/main/resources/banner.txt | 0
.../src => src}/main/resources/bootstrap.yml | 49 ++--
.../src => src}/main/resources/logback.xml | 0
34 files changed, 1147 insertions(+), 591 deletions(-)
delete mode 100644 car-data-common/pom.xml
delete mode 100644 car-data-remote/pom.xml
delete mode 100644 car-data-server/pom.xml
delete mode 100644 car-data-server/src/main/java/com/god/data/server/config/KafkaConsumerConfig.java
delete mode 100644 car-data-server/src/main/java/com/god/data/server/config/KafkaProviderConfig.java
delete mode 100644 car-data-server/src/main/java/com/god/data/server/controller/KafkaController.java
delete mode 100644 car-data-server/src/main/java/com/god/data/server/listeners/KafkaListenerTest.java
delete mode 100644 car-data-server/src/main/java/com/god/data/server/test/KafkaMessageTest.java
rename {car-data-server/src/main/java/com/god/data/server => src/main/java/com/god/data}/GodCarDataApplication.java (100%)
create mode 100644 src/main/java/com/god/data/common/domain/CarMessage.java
create mode 100644 src/main/java/com/god/data/common/domain/LogMessage.java
create mode 100644 src/main/java/com/god/data/config/kafka/KafkaConsumerConfig.java
rename {car-data-server/src/main/java/com/god/data/server/config => src/main/java/com/god/data/config/kafka}/KafkaSendResultHandler.java (95%)
rename {car-data-server/src/main/java/com/god/data/server/config => src/main/java/com/god/data/config/kafka}/MyKafkaListenerErrorHandler.java (97%)
create mode 100644 src/main/java/com/god/data/config/rabbitmq/ConfirmCallbackConfig.java
create mode 100644 src/main/java/com/god/data/config/rabbitmq/ReturnCallbackConfig.java
create mode 100644 src/main/java/com/god/data/contents/KafkaContent.java
create mode 100644 src/main/java/com/god/data/contents/RabbitmqContent.java
create mode 100644 src/main/java/com/god/data/listeners/KafkaListenerTest.java
create mode 100644 src/main/java/com/god/data/partitioner/MyPartitioner.java
create mode 100644 src/main/java/com/god/data/rabbitmq/producer/Sender.java
create mode 100644 src/main/java/com/god/data/service/EventService.java
create mode 100644 src/main/java/com/god/data/service/ParseDataService.java
create mode 100644 src/main/java/com/god/data/service/impl/ElectronicFenceEvent.java
create mode 100644 src/main/java/com/god/data/service/impl/FaultAlarmEvent.java
create mode 100644 src/main/java/com/god/data/service/impl/RealTimeTrajectoryEvent.java
create mode 100644 src/main/java/com/god/data/test/KafkaMessageTest.java
create mode 100644 src/main/java/com/god/data/test/Test007.java
create mode 100644 src/main/java/com/god/data/utils/AnalyzeUtils.java
rename {car-data-server/src => src}/main/resources/banner.txt (100%)
rename {car-data-server/src => src}/main/resources/bootstrap.yml (72%)
rename {car-data-server/src => src}/main/resources/logback.xml (100%)
diff --git a/Dockerfile b/Dockerfile
index bc645d9..2ece798 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -8,7 +8,7 @@ EXPOSE 9801
VOLUME /home/logs/god-data-server
# 复制jar文件到docker内部
-COPY /car-data-server/target/car-data-server.jar /home/app.jar
+COPY /target/car-data-data.jar /home/app.jar
#工作目录 exec -it 进来默认就是这个目
WORKDIR /home
diff --git a/car-data-common/pom.xml b/car-data-common/pom.xml
deleted file mode 100644
index c92d9e0..0000000
--- a/car-data-common/pom.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
- 4.0.0
-
- com.god
- god-car-data
- 3.6.3
-
-
- car-data-common
-
-
- 17
- 17
- UTF-8
-
-
-
-
-
-
-
- com.god
- god-common-datasource
-
-
-
-
- com.god
- god-common-datascope
-
-
-
-
- com.god
- god-common-log
-
-
-
-
- com.god
- god-common-swagger
-
-
-
-
-
-
diff --git a/car-data-remote/pom.xml b/car-data-remote/pom.xml
deleted file mode 100644
index 0482aec..0000000
--- a/car-data-remote/pom.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
- 4.0.0
-
- com.god
- god-car-data
- 3.6.3
-
-
- car-data-remote
-
-
- 17
- 17
- UTF-8
-
-
-
-
- com.god
- car-data-common
- 3.6.3
-
-
-
-
\ No newline at end of file
diff --git a/car-data-server/pom.xml b/car-data-server/pom.xml
deleted file mode 100644
index c325d20..0000000
--- a/car-data-server/pom.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-
-
- 4.0.0
-
- com.god
- god-car-data
- 3.6.3
-
-
- car-data-server
-
-
- 17
- 17
- UTF-8
-
-
-
-
-
- org.springframework.kafka
- spring-kafka
-
-
- org.apache.kafka
- kafka-clients
-
-
-
-
- org.apache.kafka
- kafka-clients
-
-
-
- com.god
- car-data-common
- 3.6.3
-
-
-
- com.alibaba.cloud
- spring-cloud-starter-alibaba-nacos-discovery
-
-
-
-
- com.alibaba.cloud
- spring-cloud-starter-alibaba-nacos-config
-
-
-
-
- com.alibaba.cloud
- spring-cloud-starter-alibaba-sentinel
-
-
-
-
- org.springframework.boot
- spring-boot-starter-actuator
-
-
-
-
- io.springfox
- springfox-swagger-ui
- ${swagger.fox.version}
-
-
-
-
- com.mysql
- mysql-connector-j
-
-
- junit
- junit
-
-
- org.junit.jupiter
- junit-jupiter
-
-
-
-
-
-
- ${project.artifactId}
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
-
- repackage
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-deploy-plugin
-
- true
-
-
-
-
-
-
diff --git a/car-data-server/src/main/java/com/god/data/server/config/KafkaConsumerConfig.java b/car-data-server/src/main/java/com/god/data/server/config/KafkaConsumerConfig.java
deleted file mode 100644
index 9012956..0000000
--- a/car-data-server/src/main/java/com/god/data/server/config/KafkaConsumerConfig.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package com.god.data.server.config;
-
-import org.apache.kafka.clients.consumer.ConsumerConfig;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.SpringBootConfiguration;
-import org.springframework.context.annotation.Bean;
-import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
-import org.springframework.kafka.config.KafkaListenerContainerFactory;
-import org.springframework.kafka.core.ConsumerFactory;
-import org.springframework.kafka.core.DefaultKafkaConsumerFactory;
-import org.springframework.kafka.listener.ConcurrentMessageListenerContainer;
-import org.springframework.kafka.listener.ContainerProperties;
-import org.springframework.kafka.support.serializer.JsonDeserializer;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @author 李帆
- * @date 2022/10/31 18:05
- * kafka配置,也可以写在yml,这个文件会覆盖yml
- */
-@SpringBootConfiguration
-public class KafkaConsumerConfig {
-
- @Value("${spring.kafka.consumer.bootstrap-servers}")
- private String bootstrapServers;
- @Value("${spring.kafka.consumer.group-id}")
- private String groupId;
- @Value("${spring.kafka.consumer.enable-auto-commit}")
- private boolean enableAutoCommit;
- @Value("${spring.kafka.properties.session.timeout.ms}")
- private String sessionTimeout;
- @Value("${spring.kafka.properties.max.poll.interval.ms}")
- private String maxPollIntervalTime;
- @Value("${spring.kafka.consumer.max-poll-records}")
- private String maxPollRecords;
- @Value("${spring.kafka.consumer.auto-offset-reset}")
- private String autoOffsetReset;
- @Value("${spring.kafka.listener.concurrency}")
- private Integer concurrency;
- @Value("${spring.kafka.listener.missing-topics-fatal}")
- private boolean missingTopicsFatal;
- @Value("${spring.kafka.listener.poll-timeout}")
- private long pollTimeout;
-
- @Bean
- public Map consumerConfigs() {
-
- Map propsMap = new HashMap<>(16);
- propsMap.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers);
- propsMap.put(ConsumerConfig.GROUP_ID_CONFIG, groupId);
- //是否自动提交偏移量,默认值是true,为了避免出现重复数据和数据丢失,可以把它设置为false,然后手动提交偏移量
- propsMap.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, enableAutoCommit);
- //自动提交的时间间隔,自动提交开启时生效
- propsMap.put(ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, "2000");
- //该属性指定了消费者在读取一个没有偏移量的分区或者偏移量无效的情况下该作何处理:
- //earliest:当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费分区的记录
- //latest:当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,消费新产生的该分区下的数据(在消费者启动之后生成的记录)
- //none:当各分区都存在已提交的offset时,从提交的offset开始消费;只要有一个分区不存在已提交的offset,则抛出异常
- propsMap.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, autoOffsetReset);
- //两次poll之间的最大间隔,默认值为5分钟。如果超过这个间隔会触发reBalance
- propsMap.put(ConsumerConfig.MAX_POLL_INTERVAL_MS_CONFIG, maxPollIntervalTime);
- //这个参数定义了poll方法最多可以拉取多少条消息,默认值为500。如果在拉取消息的时候新消息不足500条,那有多少返回多少;如果超过500条,每次只返回500。
- //这个默认值在有些场景下太大,有些场景很难保证能够在5min内处理完500条消息,
- //如果消费者无法在5分钟内处理完500条消息的话就会触发reBalance,
- //然后这批消息会被分配到另一个消费者中,还是会处理不完,这样这批消息就永远也处理不完。
- //要避免出现上述问题,提前评估好处理一条消息最长需要多少时间,然后覆盖默认的max.poll.records参数
- //注:需要开启BatchListener批量监听才会生效,如果不开启BatchListener则不会出现reBalance情况
- propsMap.put(ConsumerConfig.MAX_POLL_RECORDS_CONFIG, maxPollRecords);
- //当broker多久没有收到consumer的心跳请求后就触发reBalance,默认值是10s
- propsMap.put(ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, sessionTimeout);
- //序列化(建议使用Json,这种序列化方式可以无需额外配置传输实体类)
- propsMap.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, JsonDeserializer.class);
- propsMap.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, JsonDeserializer.class);
- return propsMap;
- }
-
- @Bean
- public ConsumerFactory