亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間: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)目啟動的時候監(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)文章

  • java簡單自定義異常實(shí)例代碼

    java簡單自定義異常實(shí)例代碼

    這篇文章主要為大家詳細(xì)介紹了java簡單自定義異常實(shí)例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • 把Jar文件轉(zhuǎn)成exe安裝文件的實(shí)現(xiàn)方法

    把Jar文件轉(zhuǎn)成exe安裝文件的實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄袹ar文件轉(zhuǎn)成exe安裝文件的實(shí)現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • Java直接輸出對象變成@.....的問題及解決

    Java直接輸出對象變成@.....的問題及解決

    這篇文章主要介紹了Java直接輸出對象變成@.....的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 詳解使用Spring Security進(jìn)行自動登錄驗(yàn)證

    詳解使用Spring Security進(jìn)行自動登錄驗(yàn)證

    本篇文章主要介紹了詳解使用Spring Security進(jìn)行自動登錄驗(yàn)證,非常具有實(shí)用價值,需要的朋友可以參考下
    2017-09-09
  • java模擬微信搶紅包的實(shí)例代碼

    java模擬微信搶紅包的實(shí)例代碼

    現(xiàn)在搶紅包的功能很受歡迎,本篇文章主要介紹了java模擬微信搶紅包的實(shí)例代碼。具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • Spring Boot 搭建 ELK正確看日志的配置流程

    Spring Boot 搭建 ELK正確看日志的配置流程

    這篇文章主要介紹了Spring Boot 搭建 ELK正確看日志的配置流程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Springboot項(xiàng)目編寫測試單元完整步驟記錄

    Springboot項(xiàng)目編寫測試單元完整步驟記錄

    這篇文章主要介紹了如何使用JUnit編寫Spring?Boot項(xiàng)目中的測試單元,包括引入依賴、配置文件設(shè)置、啟動文件創(chuàng)建以及編寫測試類的步驟,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-03-03
  • Java并發(fā)編程之常用的多線程實(shí)現(xiàn)方式分析

    Java并發(fā)編程之常用的多線程實(shí)現(xiàn)方式分析

    這篇文章主要介紹了Java并發(fā)編程之常用的多線程實(shí)現(xiàn)方式,結(jié)合實(shí)例形式分析了java并發(fā)編程中多線程的相關(guān)原理、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下
    2020-02-02
  • Java Scala的隱式轉(zhuǎn)換詳解

    Java Scala的隱式轉(zhuǎn)換詳解

    隱式轉(zhuǎn)換是在Scala編譯器進(jìn)行類型匹配時,如果找不到合適的類型,那么隱式轉(zhuǎn)換會讓編譯器在作用范圍內(nèi)自動推導(dǎo)出來合適的類型。本文通過代碼示例介紹了Scala的隱式轉(zhuǎn)換,感興趣的小伙伴可以參考閱讀
    2023-04-04
  • Java中的ThreadPoolExecutor線程池詳解

    Java中的ThreadPoolExecutor線程池詳解

    這篇文章主要介紹了Java中的ThreadPoolExecutor線程池詳解,當(dāng)線程池中的線程數(shù)大于 corePoolSize 時,keepAliveTime 為多余的空閑線程等待新任務(wù)的最長時間,超過這個時間后多余的線程將被終止,需要的朋友可以參考下
    2023-12-12

最新評論