欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot如何開啟和關(guān)閉kafka消費(fèi)

 更新時(shí)間:2024年12月16日 09:44:17   作者:阿拉的夢想  
在Kafka消費(fèi)者中,通過關(guān)閉自動消費(fèi)配置,使用自定義容器工廠,并在消費(fèi)監(jiān)聽器上設(shè)置id,可以手動控制消費(fèi)的開啟和關(guān)閉,這是根據(jù)個人經(jīng)驗(yàn)總結(jié)的方法,旨在幫助其他開發(fā)者

springboot開啟和關(guān)閉kafka消費(fèi)

關(guān)閉kafka自動消費(fèi)

配置自定義容器工廠

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
import org.springframework.kafka.core.ConsumerFactory;
import org.springframework.stereotype.Component;

@Component
@Configuration
public class kafkaConfig {

    @Autowired
    private ConsumerFactory<String, String> consumerFactory;

    @Bean("pingKafkaFactory")
    public ConcurrentKafkaListenerContainerFactory<String, String> delayContainerFactory() {
        ConcurrentKafkaListenerContainerFactory<String, String> container = new ConcurrentKafkaListenerContainerFactory<String, String>();
        container.setConsumerFactory(consumerFactory);
        //禁止自動啟動
        container.setAutoStartup(false);
        return container;
    }
}

在消費(fèi)監(jiān)聽器上使用工廠,并設(shè)置id

@KafkaListener(topics = "#{pingProperties.getTopic().split(',')}",id = "pingConsumer",containerFactory = "pingKafkaFactory")

這樣,啟動項(xiàng)目后,就不會自動消費(fèi)了。

手動開啟和關(guān)閉消費(fèi)

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.config.KafkaListenerEndpointRegistry;
import org.springframework.stereotype.Service;

/**
 * Kafka消費(fèi)監(jiān)聽服務(wù)實(shí)現(xiàn)類.
 */
@Service
@Slf4j
public class KafkaConsumerListenerServiceImpl implements KafkaConsumerListenerService {


    /**
     * registry.
     */
    @Autowired
    private KafkaListenerEndpointRegistry registry;

    /**
     * 開啟監(jiān)聽.
     *
     * @param listenerId 監(jiān)聽ID
     */
    @Override
    public void startListener(String listenerId) {
        //判斷監(jiān)聽容器是否啟動,未啟動則將其啟動
        if (!registry.getListenerContainer(listenerId).isRunning()) {
            registry.getListenerContainer(listenerId).start();
        }
        //項(xiàng)目啟動的時(shí)候監(jiān)聽容器是未啟動狀態(tài),而resume是恢復(fù)的意思不是啟動的意思
        //registry.getListenerContainer(listenerId).stop();
        log.info(listenerId + "開啟監(jiān)聽成功。");
    }

    /**
     * 停止監(jiān)聽.
     *
     * @param listenerId 監(jiān)聽ID
     */
    @Override
    public void stopListener(String listenerId) {
        registry.getListenerContainer(listenerId).stop();
        log.info(listenerId + "停止監(jiān)聽成功。");
    }

}

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • springboot執(zhí)行延時(shí)任務(wù)之DelayQueue實(shí)例

    springboot執(zhí)行延時(shí)任務(wù)之DelayQueue實(shí)例

    這篇文章主要介紹了springboot執(zhí)行延時(shí)任務(wù)之DelayQueue實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Java 5億整數(shù)大文件怎么排序

    Java 5億整數(shù)大文件怎么排序

    這篇文章主要介紹了Java 5億整數(shù)大文件怎么排序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • java 字符串詞頻統(tǒng)計(jì)實(shí)例代碼

    java 字符串詞頻統(tǒng)計(jì)實(shí)例代碼

    java 字符串詞頻統(tǒng)計(jì)實(shí)例代碼,需要的朋友可以參考一下
    2013-03-03
  • hibernate增刪改查操作代碼

    hibernate增刪改查操作代碼

    這篇文章主要介紹了hibernate增刪改查操作代碼,需要的朋友可以參考下
    2017-09-09
  • SpringBoot中的事務(wù)配置管理詳解

    SpringBoot中的事務(wù)配置管理詳解

    這篇文章主要介紹了SpringBoot中的事務(wù)配置管理詳解,Spring Boot 默認(rèn)的事務(wù)規(guī)則是遇到運(yùn)行異常(RuntimeException)和程序錯誤(Error)才會回滾,但是拋出SQLException就無法回滾了,需要的朋友可以參考下
    2024-01-01
  • 使用Java實(shí)現(xiàn)價(jià)格加密與優(yōu)化功能

    使用Java實(shí)現(xiàn)價(jià)格加密與優(yōu)化功能

    在現(xiàn)代軟件開發(fā)中,數(shù)據(jù)加密是一個非常重要的環(huán)節(jié),尤其是在處理敏感信息(如價(jià)格、用戶數(shù)據(jù)等)時(shí),本文將詳細(xì)介紹如何使用?Java?實(shí)現(xiàn)價(jià)格加密,并對代碼進(jìn)行優(yōu)化,需要的朋友可以參考下
    2025-01-01
  • mybatis-plus返回map自動轉(zhuǎn)駝峰配置操作

    mybatis-plus返回map自動轉(zhuǎn)駝峰配置操作

    這篇文章主要介紹了mybatis-plus返回map自動轉(zhuǎn)駝峰配置操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • java中&和&&的基本區(qū)別與常見的誤用

    java中&和&&的基本區(qū)別與常見的誤用

    &?和&&是Java中用于邏輯運(yùn)算的兩個運(yùn)算符,&是按位與和邏輯與兼用的運(yùn)算符,而&&僅用于邏輯與運(yùn)算,并具有短路特性,這篇文章主要介紹了java中&和&&的基本區(qū)別與常見的誤用,需要的朋友可以參考下
    2025-02-02
  • Java 超詳細(xì)講解抽象類與接口的使用

    Java 超詳細(xì)講解抽象類與接口的使用

    對于面向?qū)ο缶幊虂碚f,抽象是它的一大特征之一,在 Java 中可以通過兩種形式來體現(xiàn)OOP的抽象:接口和抽象類,下面這篇文章主要給大家介紹了關(guān)于Java入門基礎(chǔ)之抽象類與接口的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • 基于log4j2.properties踩坑與填坑

    基于log4j2.properties踩坑與填坑

    這篇文章主要介紹了log4j2.properties踩坑與填坑方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評論