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