From 2818433841637ac5aaa8823f2904aec417ef72b7 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Thu, 26 Aug 2021 16:23:20 +0800
Subject: [PATCH] kafka消费组配置文件

---
 screen-manage/src/main/java/com/moral/api/kafka/consumer/KafkaConsumer.java     |    8 ++++----
 screen-common/src/main/java/com/moral/constant/KafkaConstants.java              |   11 +----------
 screen-manage/src/main/resources/application-dev.yml                            |    3 +++
 screen-manage/src/main/java/com/moral/api/config/kafka/KafkaConsumerConfig.java |   35 +++++++++++++++++++++++++++++++----
 4 files changed, 39 insertions(+), 18 deletions(-)

diff --git a/screen-common/src/main/java/com/moral/constant/KafkaConstants.java b/screen-common/src/main/java/com/moral/constant/KafkaConstants.java
index 2dd9fdc..534ff0c 100644
--- a/screen-common/src/main/java/com/moral/constant/KafkaConstants.java
+++ b/screen-common/src/main/java/com/moral/constant/KafkaConstants.java
@@ -21,14 +21,5 @@
      * ���������������������������������������������������
      */
     public static final String TOPIC_SECOND_SPECIAL = "second_data_special";
-
-    /**
-     * ���������������������������
-     */
-    public static final String GROUP_INSERT = "insert";
-
-    /**
-     * ���������������������������������
-     */
-    public static final String GROUP_STATE = "state";
+    
 }
diff --git a/screen-manage/src/main/java/com/moral/api/config/kafka/KafkaConsumerConfig.java b/screen-manage/src/main/java/com/moral/api/config/kafka/KafkaConsumerConfig.java
index 8ce1e76..3ecc6e7 100644
--- a/screen-manage/src/main/java/com/moral/api/config/kafka/KafkaConsumerConfig.java
+++ b/screen-manage/src/main/java/com/moral/api/config/kafka/KafkaConsumerConfig.java
@@ -31,21 +31,48 @@
     private String autoOffsetReset;
     @Value("${kafka.consumer.concurrency}")
     private int concurrency;
+    @Value("${kafka.groupId.insert}")
+    private String insertGroupId;
+    @Value("${kafka.groupId.state}")
+    private String stateGroupId;
 
     @Bean
-    public KafkaListenerContainerFactory<ConcurrentMessageListenerContainer<String, String>> kafkaListenerContainerFactory() {
+    public KafkaListenerContainerFactory<ConcurrentMessageListenerContainer<String, String>> insertListenerContainerFactory() {
         ConcurrentKafkaListenerContainerFactory<String, String> factory = new ConcurrentKafkaListenerContainerFactory<>();
-        factory.setConsumerFactory(consumerFactory());
+        factory.setConsumerFactory(insertConsumerFactory());
         factory.setConcurrency(concurrency);
         factory.getContainerProperties().setPollTimeout(1500);
         factory.getContainerProperties().setAckMode(ContainerProperties.AckMode.MANUAL_IMMEDIATE);
         return factory;
     }
 
-    public ConsumerFactory<String, String> consumerFactory() {
-        return new DefaultKafkaConsumerFactory<>(consumerConfigs());
+    @Bean
+    public KafkaListenerContainerFactory<ConcurrentMessageListenerContainer<String, String>> stateListenerContainerFactory() {
+        ConcurrentKafkaListenerContainerFactory<String, String> factory = new ConcurrentKafkaListenerContainerFactory<>();
+        factory.setConsumerFactory(stateConsumerFactory());
+        factory.setConcurrency(concurrency);
+        factory.getContainerProperties().setPollTimeout(1500);
+        factory.getContainerProperties().setAckMode(ContainerProperties.AckMode.MANUAL_IMMEDIATE);
+        return factory;
     }
 
+    //kafka������������������������������������
+    public ConsumerFactory<String, String> insertConsumerFactory() {
+        Map<String, Object> map = consumerConfigs();
+        map.put(ConsumerConfig.GROUP_ID_CONFIG, insertGroupId);
+        return new DefaultKafkaConsumerFactory<>(map);
+    }
+
+    //���������������������������������
+    public ConsumerFactory<String, String> stateConsumerFactory() {
+        Map<String, Object> map = consumerConfigs();
+        map.put(ConsumerConfig.GROUP_ID_CONFIG, stateGroupId);
+        return new DefaultKafkaConsumerFactory<>(map);
+    }
+
+    /*
+    * ������������
+    * */
     public Map<String, Object> consumerConfigs() {
         Map<String, Object> propsMap = new HashMap<>();
         propsMap.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, servers);
diff --git a/screen-manage/src/main/java/com/moral/api/kafka/consumer/KafkaConsumer.java b/screen-manage/src/main/java/com/moral/api/kafka/consumer/KafkaConsumer.java
index fceb385..5301f10 100644
--- a/screen-manage/src/main/java/com/moral/api/kafka/consumer/KafkaConsumer.java
+++ b/screen-manage/src/main/java/com/moral/api/kafka/consumer/KafkaConsumer.java
@@ -44,7 +44,7 @@
     private HistorySecondSpecialService historySecondSpecialService;
 
     //������������
-    @KafkaListener(topics = KafkaConstants.TOPIC_MINUTE, groupId = KafkaConstants.GROUP_INSERT, containerFactory = "kafkaListenerContainerFactory")
+    @KafkaListener(topics = KafkaConstants.TOPIC_MINUTE, containerFactory = "insertListenerContainerFactory")
     public void listenMinute(ConsumerRecord<String, String> record, Acknowledgment ack) {
         String msg = record.value();
         try {
@@ -83,7 +83,7 @@
     }
 
     //������������
-    @KafkaListener(topics = KafkaConstants.TOPIC_HOUR, groupId = KafkaConstants.GROUP_INSERT, containerFactory = "kafkaListenerContainerFactory")
+    @KafkaListener(topics = KafkaConstants.TOPIC_HOUR, containerFactory = "insertListenerContainerFactory")
     public void listenHour(ConsumerRecord<String, String> record, Acknowledgment ack) {
         String msg = record.value();
         try {
@@ -122,7 +122,7 @@
     }
 
     //������������������������������������������������������
-    @KafkaListener(topics = KafkaConstants.TOPIC_SECOND, groupId = KafkaConstants.GROUP_STATE, containerFactory = "kafkaListenerContainerFactory")
+    @KafkaListener(topics = KafkaConstants.TOPIC_SECOND, containerFactory = "stateListenerContainerFactory")
     public void listenSecond(ConsumerRecord<String, String> record) {
         String msg = record.value();
         try {
@@ -149,7 +149,7 @@
     }
 
     //���������������������
-    @KafkaListener(topics = KafkaConstants.TOPIC_SECOND_SPECIAL, groupId = KafkaConstants.GROUP_INSERT, containerFactory = "kafkaListenerContainerFactory")
+    @KafkaListener(topics = KafkaConstants.TOPIC_SECOND_SPECIAL, containerFactory = "insertListenerContainerFactory")
     public void listenSecondSpecial(ConsumerRecord<String, String> record, Acknowledgment ack) {
         String msg = record.value();
         try {
diff --git a/screen-manage/src/main/resources/application-dev.yml b/screen-manage/src/main/resources/application-dev.yml
index 16c7e70..f27a356 100644
--- a/screen-manage/src/main/resources/application-dev.yml
+++ b/screen-manage/src/main/resources/application-dev.yml
@@ -105,6 +105,9 @@
     linger: 1
     retries: 0
     servers: 172.16.44.65:9092,172.16.44.67:9092,172.16.44.66:9092
+  groupId:
+    insert: insert
+    state: state
 mvc:
   interceptor:
     exclude:

--
Gitblit v1.8.0