首页 > 其他分享 >Spring Boot 集成 Kafka

Spring Boot 集成 Kafka

时间:2024-12-16 10:21:15浏览次数:4  
标签:spring Spring basic Boot kafka topic demo message Kafka

Spring Boot 集成 Kafka

1.1. 版本说明

构件 版本
spring-boot 2.7.18
spring-kafka 2.8.11

1.2. Spring 配置

spring:
  application:
    name: spring-kafka-basic-demo
  kafka:
    bootstrap-servers: localhost:9092
    producer:
      client-id: spring-kafka-basic-demo-producer
    consumer:
      client-id: spring-kafka-basic-demo-consumer
      group-id: spring-kafka-basic-demo-group
kafka:
  topic:
    basic-demo-topic: spring-kafka-basic-demo-topic

1.5. 测试

@Component
@Slf4j
public class SpringKafkaBasicDemo implements ApplicationRunner {

    @Value("${kafka.topic.basic-demo-topic}")
    private String basicDemoTopic;

    @Resource
    private KafkaTemplate<String, String> kafkaTemplate;

    @Override
    public void run(ApplicationArguments args) throws Exception {
        String payload = "Hello Topic!";
        kafkaTemplate.send(basicDemoTopic, payload);
        log.info("sent a message, topic: {}, payload: {}", basicDemoTopic,  payload);
    }

    @KafkaListener(topics = "${kafka.topic.basic-demo-topic}")
    public void listen(Message<String> message) {
        log.info(
                "received a message, topic: {}, offset: {}, payload: {}",
                message.getHeaders().get(KafkaHeaders.RECEIVED_TOPIC),
                message.getHeaders().get(KafkaHeaders.OFFSET),
                message.getPayload()
        );
    }
}

启动程序,控制台将输出:

sent a message, topic: spring-kafka-basic-demo-topic, payload: Hello Topic!
received a message, topic: spring-kafka-basic-demo-topic, offset: 13, payload: Hello Topic!

标签:spring,Spring,basic,Boot,kafka,topic,demo,message,Kafka
From: https://www.cnblogs.com/jason207010/p/18609229

相关文章

  • springboot常用注解
    1.@Configuration标注在类上,表明该类是springboot中配置类2.@Bean与@Configuration配合使用,标注在方法上,表明是配置类中的组件3.@Import导入组件,例子@Import({User.class,DBHelper.class}),给容器中自动建出这两个类型的组件,默认组件的名字是全类名4.@Conditional条件装配:......
  • springboot简单功能分析
    1、静态资源访问1.1、静态资源目录只要静态资源放在类路径下/static或者/public或者/resources或者/META-INF/resources访问当前项目根路径/+静态资源名原理:静态映射/**。请求进来后先去找controller看能不能处理,不能处理的请求再交给静态资源处理器处理,静态资源也找不到的404......
  • 未公开JeecgBoot passwordChange 任意用户密码重置漏洞
       0x01产品概述    未公开JeecgBootpasswordChange任意用户密码重置漏洞通用描述管理和发布于一体的智能化平台,广泛应用于新闻、媒体和各类内容创作机构。该平台支持多终端、多渠道的内容分发,具备素材管理、编辑加工、智能审核等功能,通过AI技术辅助内容创作与数......
  • 在PbootCMS中遇到“帐号格式不正确,请输入正确的邮箱帐号!”的错误如何解决?
    在PbootCMS中,会员注册过程中有时会遇到“帐号格式不正确,请输入正确的邮箱帐号!”的错误提示。这个问题通常是由于邮箱地址中包含了一些特殊符号,而PbootCMS默认的正则校验规则没有考虑到这些情况。以下是一些解决方法:更换邮箱地址:最简单的方法是更换一个不包含特殊符号的邮箱地......
  • PbootCMS如何自定义栏目和文章的URL路径?
    PbootCMS提供了强大的自定义URL路径功能,使得网站的URL结构更加灵活和友好。以下是详细的步骤和应用场景,帮助你自定义栏目和文章的URL路径:自定义栏目URL路径在PbootCMS中,可以通过在栏目的URL名称中进行定义来实现自定义URL路径。具体操作如下:进入PbootCMS后台管理系统。导......
  • 如何在PbootCMS中增加允许上传的文件类型,例如WebP和MOV格式?
    在PbootCMS中,默认情况下允许上传的文件类型是有限的,可能不包括一些非常见的文件格式,如WebP和MOV。为了扩展允许上传的文件类型,您需要修改PbootCMS的配置文件。以下是详细的操作步骤和注意事项:修改PbootCMS主配置文件:打开位于 /config/config.php 的配置文件。找到并修改 ......
  • 请问PbootCMS网站打开提示“No input file specified”怎么办?
    当您在使用PbootCMS时,如果网站打开时提示“Noinputfilespecified”,这通常是因为某些配置问题或文件缺失导致的。根据提供的内容,以下是几种常见的解决方法,您可以根据实际情况选择适合的方法:方法一:检查并删除user.ini文件检查根目录:首先,检查您的网站根目录下是否存在user.i......
  • PbootCMS 网站提示“会话目录写入权限不足”,如何解决?
     当你在使用PbootCMS网站时,如果遇到“会话目录写入权限不足”的错误提示,这通常是因为某些目录的写入权限不足,导致PbootCMS无法正常写入会话数据。以下是一些常见的解决方法和步骤:确定需要修改权限的目录:PbootCMS中有几个目录需要写入权限,以确保系统正常运行。这些目录......
  • 如何在PbootCMS中修改未授权域名的提示信息?
    要在PbootCMS中修改未授权域名的提示信息,可以按照以下步骤操作:创建sn.html文件:在PbootCMS网站的根目录下新建一个名为sn.html的文件。这个文件将用于显示自定义的提示信息。编写自定义提示信息:打开sn.html文件,编写你希望显示的提示信息。例如,你可以编写以下内容:<!DOCTYPEh......
  • 在PbootCMS中如何处理不同Web服务器的文件上传大小限制?
    在PbootCMS中,处理不同Web服务器的文件上传大小限制需要针对每种Web服务器进行特定的配置。以下是针对IIS、Nginx和Apache三种常见Web服务器的详细配置方法:IIS:打开IIS管理器:打开IIS管理器,选择要修改的网站。请求筛选:在右侧操作栏中,点击“请求筛选”。编辑功能设置:在“请求筛......