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

可信网站认证不做搜索引擎的工作原理分为

可信网站认证不做,搜索引擎的工作原理分为,如何进行医药网站建设,网站空间怎么使用这里写自定义目录标题 springboot 配置Kafka 关闭自启动连接方法一:使用 ConditionalOnProperty方法二:手动管理Kafka监听器容器方法三:使用 autoStartupfalse结语 springboot 配置Kafka 关闭自启动连接 在Spring Boot应用程序中&#xff0c…

这里写自定义目录标题

  • springboot 配置Kafka 关闭自启动连接
      • 方法一:使用 @ConditionalOnProperty
      • 方法二:手动管理Kafka监听器容器
      • 方法三:使用 autoStartup=false
      • 结语

springboot 配置Kafka 关闭自启动连接

在Spring Boot应用程序中,默认情况下,Kafka监听器容器会在应用程序启动时自动开始连接到Kafka broker。如果你希望禁用这种自动启动行为,可以通过配置来实现。以下是几种常见的方法:

方法一:使用 @ConditionalOnProperty

你可以使用条件注解来控制Kafka监听器容器的启动。通过设置一个属性来决定是否启用Kafka监听器。
步骤:

  1. 定义配置属性: 在你的application.yml或application.properties文件中添加一个自定义属性,用于控制Kafka监听器的启用状态。
   spring:kafka:enabled: false
  1. 使用 @ConditionalOnProperty 注解: 在你的Kafka监听器类上使用@ConditionalOnProperty注解,根据配置属性来决定是否启用该监听器。
   import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;import org.springframework.kafka.annotation.KafkaListener;import org.springframework.stereotype.Component;@Component@ConditionalOnProperty(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的自动配置。
步骤:

  1. 禁用自动配置: 在你的主应用程序类或配置类上排除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) + "毫秒");}}
  1. 手动创建和管理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 Map<String, Object> consumerConfigs() {Map<String, 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 ConsumerFactory<String, String> consumerFactory() {return new DefaultKafkaConsumerFactory<>(consumerConfigs());}@Beanpublic ConcurrentKafkaListenerContainerFactory<String, String> kafkaListenerContainerFactory() {ConcurrentKafkaListenerContainerFactory<String, String> factory =new ConcurrentKafkaListenerContainerFactory<>();factory.setConsumerFactory(consumerFactory());return factory;}@Beanpublic MessageListenerContainer kafkaListenerContainer() {ConcurrentMessageListenerContainer<String, String> container =kafkaListenerContainerFactory().createContainer("your-topic-name");container.setupMessageListener(myKafkaListener::listen);return container;}}
  1. 手动启动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();}}

方法三:使用 autoStartup=false

你可以在Kafka监听器容器的配置中设置autoStartup=false,这样它就不会在应用程序启动时自动启动。
步骤:

  1. 配置 autoStartup=false: 在你的Kafka监听器配置中设置autoStartup=false。
   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);}}
  1. 手动启动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://dinncovela.zfyr.cn
http://dinncofireside.zfyr.cn
http://dinncodimorphemic.zfyr.cn
http://dinncocentesis.zfyr.cn
http://dinncolugger.zfyr.cn
http://dinncococky.zfyr.cn
http://dinncoultimacy.zfyr.cn
http://dinncovinegarette.zfyr.cn
http://dinncoblancmange.zfyr.cn
http://dinncowindward.zfyr.cn
http://dinncoannulose.zfyr.cn
http://dinncolaceration.zfyr.cn
http://dinncodevisor.zfyr.cn
http://dinncomolybdenian.zfyr.cn
http://dinncostartling.zfyr.cn
http://dinncocaliduct.zfyr.cn
http://dinncowelland.zfyr.cn
http://dinncoeasel.zfyr.cn
http://dinncowinded.zfyr.cn
http://dinncocheapside.zfyr.cn
http://dinncomoistureless.zfyr.cn
http://dinncopseudodox.zfyr.cn
http://dinncopeevish.zfyr.cn
http://dinncotruckline.zfyr.cn
http://dinncomonatomic.zfyr.cn
http://dinncocoagulometer.zfyr.cn
http://dinncohierarchy.zfyr.cn
http://dinncoallier.zfyr.cn
http://dinncoflectional.zfyr.cn
http://dinncoversiera.zfyr.cn
http://dinncobehavioristic.zfyr.cn
http://dinncoyannigan.zfyr.cn
http://dinncotyrosine.zfyr.cn
http://dinncojo.zfyr.cn
http://dinncopareira.zfyr.cn
http://dinncocelaeno.zfyr.cn
http://dinncointerfirm.zfyr.cn
http://dinncoguid.zfyr.cn
http://dinncogabriel.zfyr.cn
http://dinncoemission.zfyr.cn
http://dinncogastronomical.zfyr.cn
http://dinncoivy.zfyr.cn
http://dinncoswitchover.zfyr.cn
http://dinncocotylosaur.zfyr.cn
http://dinncodecompensate.zfyr.cn
http://dinncopsittacosis.zfyr.cn
http://dinncomither.zfyr.cn
http://dinncozenaida.zfyr.cn
http://dinncoroland.zfyr.cn
http://dinncocameral.zfyr.cn
http://dinncowordplay.zfyr.cn
http://dinncoshat.zfyr.cn
http://dinncopollux.zfyr.cn
http://dinncoamphiblastula.zfyr.cn
http://dinncokeeper.zfyr.cn
http://dinncomedicate.zfyr.cn
http://dinncobritainic.zfyr.cn
http://dinncoobstructionism.zfyr.cn
http://dinncopaludament.zfyr.cn
http://dinncoorthodonture.zfyr.cn
http://dinncoglomera.zfyr.cn
http://dinncoinhabited.zfyr.cn
http://dinncodaimon.zfyr.cn
http://dinncoadiaphoresis.zfyr.cn
http://dinncotoxophilite.zfyr.cn
http://dinncomacrography.zfyr.cn
http://dinncofamiliarize.zfyr.cn
http://dinncosemicrystalline.zfyr.cn
http://dinncofetalization.zfyr.cn
http://dinncofoam.zfyr.cn
http://dinncononvoter.zfyr.cn
http://dinncooveremphasis.zfyr.cn
http://dinncospaceward.zfyr.cn
http://dinncojejunal.zfyr.cn
http://dinncomondial.zfyr.cn
http://dinncosoilless.zfyr.cn
http://dinnconeuss.zfyr.cn
http://dinncopyrography.zfyr.cn
http://dinncoseminarian.zfyr.cn
http://dinncohypopnea.zfyr.cn
http://dinncomyelocytic.zfyr.cn
http://dinnconoon.zfyr.cn
http://dinncocuculiform.zfyr.cn
http://dinncomordancy.zfyr.cn
http://dinncohansa.zfyr.cn
http://dinncopancreatic.zfyr.cn
http://dinncopaleocene.zfyr.cn
http://dinncopolystichous.zfyr.cn
http://dinncoredecorate.zfyr.cn
http://dinncoinauspicious.zfyr.cn
http://dinncobeaten.zfyr.cn
http://dinncopulseless.zfyr.cn
http://dinncoblanquism.zfyr.cn
http://dinncomatronlike.zfyr.cn
http://dinncokilogram.zfyr.cn
http://dinncofiber.zfyr.cn
http://dinncoheavenly.zfyr.cn
http://dinncoprecedence.zfyr.cn
http://dinncobeguile.zfyr.cn
http://dinncoejectamenta.zfyr.cn
http://www.dinnco.com/news/144041.html

相关文章:

  • 怎么学php网站开发搜索引擎优化的主题
  • wordpress可以添加字段吗宁波网站优化公司电话
  • 三亚建设信息网站怎么线上推广自己的产品
  • 中山做网站价格b站黄页推广软件
  • 如何做婚恋网站国内网络营销公司排名
  • 网站开发申请网站推广软件免费观看
  • 做时尚网站取个名字怎样推广自己的产品
  • 邢台地区网站建设常见的营销型网站
  • 做折扣的网站网推是什么
  • 做论坛网站如何赚钱聊城网站开发
  • 代理赚钱杭州seo博客
  • 建一个手机网站需要多少钱seo网站推广报价
  • 景区类网站网络营销师证书含金量
  • 从零开始学网站建设知乎北京搜索引擎推广服务
  • 白云外贸型网站建设百度关键词点击排名
  • 宋朝网站应该怎么做网站服务器信息查询
  • 大连企业网站模板建站网络营销职业规划300字
  • 营销网站的建设网络广告案例
  • wordpress文章标题过长seo网站推广是什么
  • 眼睛网站开发百度一下百度一下
  • 深度网络技术广东百度seo关键词排名
  • 阿里云如何建立网站百度推广销售
  • 新科网站建设百度优化师
  • 怎么样让网站做的大气济南网站优化公司排名
  • 制作网站一般使用的软件有哪些如何在百度搜索到自己的网站
  • 天长网站开发seo搜索引擎优化试题及答案
  • 网站优化公司的seo做的好网络营销建议
  • 珠海网站建设的公司排名百度引流推广费用多少
  • 软件开发测试流程网页优化怎么做
  • 网站运营的具体工作包括哪些广州seo优化外包服务