当前位置: 首页 > news >正文

kafka连接失败时springboot项目启动停机问题

问题:springboot整合kafka,作为消费端,对端的kafka系统是在生产环境,在本地开发测试时配置了对端的生产环境的kafka地址。因为开发环境和对端生产环境是不通的,所以连接肯定是失败的,kafka的连接失败导致springboot项目启动时停机。

思路:

  1. 将kafka消费端配置自启动关闭。方法1:创建ConcurrentKafkaListenerContainerFactory时配置setAutoStartup(false)。方法2:使用kafka@KafkaListener注解时配置`autoStartup = “false”。
    这样kakfa的消费端不会自己启动,也就不会影响springboot项目的启动。
  2. springboot项目启动完成后,再手动启动kafka消费端。使用kafka@KafkaListener注解时配置id = "kafkaTest"。创建MyApplicationReadyEventListener在spingboot项目启动完成后再手动启动kafka消费端
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.kafka.config.KafkaListenerEndpointRegistry;
import org.springframework.kafka.listener.MessageListenerContainer;
import org.springframework.stereotype.Component;import java.util.Objects;@Component
public class MyApplicationReadyEventListener implements ApplicationListener<ApplicationReadyEvent> {@Autowiredprivate KafkaListenerEndpointRegistry registry;@Overridepublic void onApplicationEvent(ApplicationReadyEvent event) {MessageListenerContainer messageListenerContainer = registry.getListenerContainer("kafkaTest");if(Objects.nonNull(messageListenerContainer)) {if(!messageListenerContainer.isRunning()) {messageListenerContainer.start();} else {if(messageListenerContainer.isContainerPaused()) {messageListenerContainer.resume();}}}}
}
http://www.lryc.cn/news/277756.html

相关文章:

  • 【算法题】46. 全排列
  • 可视可交互!在全志H618上用OpenCV读取图像显示到PyQt5窗口上
  • 现代密码学 补充1:两种窃听不可区分实验的区别
  • 多功能号卡推广分销管理系统 流量卡推广分销网站源码-目前市面上最优雅的号卡系统
  • MySQL语法及IDEA使用MySQL大全
  • 分布式系统网关和sentinel
  • 无法访问Bing网站 - 解决方案
  • Spring Boot 自动装配原理
  • golang如何生成csv文件
  • 你真的掌握了“C语言分支循环”吗
  • Apollo计算几何算法(一)
  • 计算机网络、浏览器相关高频面试题
  • 遥感单通道图像保存为彩色图像
  • 如何将字符串转换为整数
  • 如何在Linux上安装使用达芬奇DaVinci-Resolve视频剪辑|附带格式转换脚本
  • FlinkAPI开发之数据合流
  • 11 个 Python全栈开发工具集
  • 【GDAL】Windows下VS+GDAL开发环境搭建
  • 基于sumo实现交通灯控制算法的模板
  • 设计模式之单例模式的懒饿汉
  • 多平台多账号一站式短视频管理矩阵营销系统下载
  • go work
  • 基于JavaWeb+BS架构+SpringBoot+Vue智能菜谱推荐系统的设计和实现
  • SpringSecurity集成JWT实现后端认证授权保姆级教程-授权配置篇
  • 关系型非关系型数据库区别,以MongoDB为例在express中连接MongoDB示例
  • Java版商城:Spring Cloud+SpringBoot b2b2c实现多商家入驻直播带货及 免 费 小程序商城搭建的完整指南
  • 【Spring Boot】SpringBoot maven 项目创建图文教程
  • 【Python】Sigmoid和Hard Sigmoid激活函数对比总结及示例
  • ajax+axios——统一设置请求头参数——添加请求头入参——基础积累
  • Redis高可用(主从复制、哨兵模式和Cluster集群)