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

fview网站开发常州网站开发培训价格

fview网站开发,常州网站开发培训价格,番禺人才网招聘信恿,网站后台开发教程这里写自定义目录标题 springboot 配置Kafka 关闭自启动连接方法一#xff1a;使用 ConditionalOnProperty方法二#xff1a;手动管理Kafka监听器容器方法三#xff1a;使用 autoStartupfalse结语 springboot 配置Kafka 关闭自启动连接 在Spring Boot应用程序中#xff0c… 这里写自定义目录标题 springboot 配置Kafka 关闭自启动连接方法一使用 ConditionalOnProperty方法二手动管理Kafka监听器容器方法三使用 autoStartupfalse结语 springboot 配置Kafka 关闭自启动连接 在Spring Boot应用程序中默认情况下Kafka监听器容器会在应用程序启动时自动开始连接到Kafka broker。如果你希望禁用这种自动启动行为可以通过配置来实现。以下是几种常见的方法 方法一使用 ConditionalOnProperty 你可以使用条件注解来控制Kafka监听器容器的启动。通过设置一个属性来决定是否启用Kafka监听器。 步骤 定义配置属性 在你的application.yml或application.properties文件中添加一个自定义属性用于控制Kafka监听器的启用状态。 spring:kafka:enabled: false使用 ConditionalOnProperty 注解 在你的Kafka监听器类上使用ConditionalOnProperty注解根据配置属性来决定是否启用该监听器。 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;import org.springframework.kafka.annotation.KafkaListener;import org.springframework.stereotype.Component;ComponentConditionalOnProperty(name spring.kafka.enabled, havingValue true)public class MyKafkaListener {KafkaListener(topics your-topic-name, groupId your-group-id)public void listen(String message) {System.out.println(Received Message: message);}} 方法二手动管理Kafka监听器容器 另一种方法是手动管理Kafka监听器容器的生命周期而不是依赖于Spring Boot的自动配置。 步骤 禁用自动配置 在你的主应用程序类或配置类上排除KafkaAutoConfiguration。 import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration;SpringBootApplication(exclude KafkaAutoConfiguration.class)public class DeviceExchangeApplication {public static void main(String[] args) {long startTime System.currentTimeMillis();System.out.println(----------- 数据交换链[device-exchange]启动...);SpringApplication.run(DeviceExchangeApplication.class, args);System.out.println(----------- 数据交换链[device-exchange]启动成功耗时 (System.currentTimeMillis() - startTime) 毫秒);}} 手动创建和管理Kafka监听器容器 创建并管理Kafka监听器容器以便在需要的时候手动启动它们。 import org.apache.kafka.clients.consumer.ConsumerConfig;import org.apache.kafka.common.serialization.StringDeserializer;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.kafka.core.DefaultKafkaConsumerFactory;import org.springframework.kafka.listener.ConcurrentMessageListenerContainer;import org.springframework.kafka.listener.MessageListenerContainer;import java.util.HashMap;import java.util.Map;Configurationpublic class KafkaConfig {Autowiredprivate MyKafkaListener myKafkaListener;Beanpublic MapString, Object consumerConfigs() {MapString, Object props new HashMap();props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, localhost:9092);props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);props.put(ConsumerConfig.GROUP_ID_CONFIG, your-group-id);return props;}Beanpublic ConsumerFactoryString, String consumerFactory() {return new DefaultKafkaConsumerFactory(consumerConfigs());}Beanpublic ConcurrentKafkaListenerContainerFactoryString, String kafkaListenerContainerFactory() {ConcurrentKafkaListenerContainerFactoryString, String factory new ConcurrentKafkaListenerContainerFactory();factory.setConsumerFactory(consumerFactory());return factory;}Beanpublic MessageListenerContainer kafkaListenerContainer() {ConcurrentMessageListenerContainerString, String container kafkaListenerContainerFactory().createContainer(your-topic-name);container.setupMessageListener(myKafkaListener::listen);return container;}} 手动启动Kafka监听器容器 在需要的时候手动启动Kafka监听器容器。 import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.CommandLineRunner;import org.springframework.kafka.listener.MessageListenerContainer;import org.springframework.stereotype.Component;Componentpublic class KafkaStarter implements CommandLineRunner {Autowiredprivate MessageListenerContainer kafkaListenerContainer;Overridepublic void run(String... args) throws Exception {// 手动启动Kafka监听器容器kafkaListenerContainer.start();}} 方法三使用 autoStartupfalse 你可以在Kafka监听器容器的配置中设置autoStartupfalse这样它就不会在应用程序启动时自动启动。 步骤 配置 autoStartupfalse 在你的Kafka监听器配置中设置autoStartupfalse。 import org.springframework.kafka.annotation.KafkaListener;import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;import org.springframework.kafka.listener.ConcurrentMessageListenerContainer;import org.springframework.kafka.listener.MessageListenerContainer;import org.springframework.stereotype.Component;Componentpublic class MyKafkaListener {KafkaListener(id myListener, topics your-topic-name, autoStartup false)public void listen(String message) {System.out.println(Received Message: message);}} 手动启动Kafka监听器容器 使用MessageListenerContainer接口的手动启动方法。 import org.springframework.beans.factory.annotation.Autowired;import org.springframework.kafka.listener.MessageListenerContainer;import org.springframework.stereotype.Component;Componentpublic class KafkaStarter {Autowiredprivate MessageListenerContainer myListenerContainer;public void startKafkaListener() {myListenerContainer.start();}} 总结 通过上述三种方法你可以有效地控制Kafka监听器容器的自动启动行为。选择适合你项目需求的方法来实现即可。通常情况下使用ConditionalOnProperty是最简单和灵活的方式。 结语 以上答案来自大模型第二种和第三种都比较麻烦最后采用了第一种方式在所有的消费类上加了ConditionalOnProperty(name spring.kafka.enabled, havingValue true)启动就很快了KafkaAdmin 和 KafkaConsumer就没有自动启动了。用kafkaTemplate发送消息还是会去连接Kafka服务器不影响正常使用。 注意必须是所有的消费类必须加不然就不会起作用。 主要场景一般线上部署环境才会去连接kafka本地开发的时候 不一定要去连所以想暂时关闭一下
http://www.w-s-a.com/news/542146/

相关文章:

  • 网站建设在开封找谁做wordpress 数据转换
  • 旅游网站开发的流程江苏付费网络推广培训
  • 网站软文标题2018wordpress主题
  • 德清网站设计wordpress免登录发布接
  • 可以做游戏的网站有哪些客户关系管理系统的主要功能
  • 整人关不掉的网站怎么做广东省网站免备案表
  • 网站设计素材edu域名网站
  • 中山学校的网站建设wordpress文章图片显示不出
  • 兰溪城市建设规划网站网站联盟的基本流程
  • 免费推广网站注册入口小说阅读网站怎么建设
  • 新网站怎么做网络推广怎么做企业网站排名
  • jsp商业网站开发网站链接如何做二维码
  • 江苏高校品牌专业建设网站怎么制作网站搜索窗口
  • 北京app建设 网站开发公司织梦网站seo
  • 大学网站 作风建设专题汽车配件外贸出口公司
  • 东莞做网站系统购物网站建设精英
  • 建设vip网站相关视频网站营销建设公司
  • 微站直播平台杭州seo按天计费
  • seo 新旧网站 两个域名福州设计网站建设
  • 如何做网站客户端如何做网络营销网站
  • 苏州网站建设制度打鱼网站建设
  • 瓜子二手车直卖网上海小红书seo
  • 天津中小企业网站制作珠海做网站的
  • 网站排名影响因素最牛的科技网站建设
  • 长春网站建设公司怎么样电商网站建设与开发期末考试
  • 品牌网站建设搭建国内外网站建设
  • 辽宁人社app一直更新整站seo定制
  • 兰州网站建设论坛装修品牌
  • 云南省城乡住房与建设厅网站用什么网站可以做电子书
  • 自己电脑怎么做网站服务器吗0基础如何做网站