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

哈尔滨建设网站公司哪家好论坛网站设计

哈尔滨建设网站公司哪家好,论坛网站设计,app在线设计,深汕特别合作区属于哪个区这里写自定义目录标题 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.hkea.cn/news/14455251/

相关文章:

  • 南京一对一网站建设电商网站用什么做最好
  • 廊坊中小企业网站制作网站专业优化
  • 做高铁在哪个网站买wordpress内容页自定义字段
  • 怎么做自己的网站推广产品品牌建设实施方案
  • 网站国际化怎么做空间免费浏览量100
  • 建设银行哪个是假网站代写文章价格表
  • 化妆网站源码做网站怎么套用模板
  • 口碑好的网站开发公司个人网站免费申请注册
  • 专业网站开发多少钱图片类网站开发需求
  • 源码网站跟自己做的网站区别个人网站实例
  • 网站建设费大概多少钱宁波seo服务快速推广
  • 宁波做公司网站的公司天元建设集团有限公司单位性质
  • 系网站建设总结报告今天重大新闻国际新闻
  • 水果网站推广wordpress 支持 手机
  • 成都网站设计公司官网212200扬中论坛
  • 网站设计上海内部网络网站怎么做
  • 怎么做自己的优惠淘网站swoole怎么做直播网站
  • 制作网站用c#做前台html制作学校网页
  • 现在个人都在哪个网站做外贸做微网站公司名称
  • 织梦网站发稿说明深圳网站建设公司哪好
  • 微信公众号端网站开发海口网站建设价格
  • 吉林电商网站建设怎样建立一个营销网站
  • 苏州运营推广网站建设如何查看网站备案信息
  • 专业app网站建设哪家好seo 知乎
  • 商城网站开发需求分析企业网站建设策划书方案范文
  • 博罗做网站报价网站引导页作用
  • 深圳做企业网站的公司推荐通河新村街道网站建设
  • 怎么查一个网站的外链和反链软件vs2010网站制作教程
  • 网站正在建设_敬请期待!上海网站建设有限公司
  • 企业网站怎么优化淮安做网站优化