java kafka

安装

安装下载

导入依赖

java 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>kafka</artifactId>
        <groupId>com.tt</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>kafkaProducer</artifactId>

    <dependencies>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.kafka</groupId>
            <artifactId>spring-kafka</artifactId>
            <version>2.8.0</version> <!-- 根据需要选择合适的版本 -->
        </dependency>


    </dependencies>

</project>

创建producer项目

配置文件

java 复制代码
# application.yaml
spring:
  kafka:
    bootstrap-servers: localhost:9092
    consumer:
      group-id: myGroup
      #auto.offset.reset = latest 的含义:
      #若一个 Topic 有历史数据,但消费者组是首次启动且未提交过 offset,则不会消费历史消息,只会接收启动后新产生的数据。
      #earliest:无 offset 时从头消费,适合需处理全量数据的场景。
      #none:无 offset 时抛出异常,需手动处理,适合对重复消费敏感的业务。
      auto-offset-reset: earliest
      enable-auto-commit: true
      key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
      value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
    producer:
      key-serializer: org.apache.kafka.common.serialization.StringSerializer
      value-serializer: org.apache.kafka.common.serialization.StringSerializer
  application:
    name: producer
server:
  port: 9124

发送

java 复制代码
package com.tt.control;

import com.tt.common.Rs;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class Controller {

    @Autowired
    private KafkaTemplate<String,String> kafkaTemplate;


    @GetMapping("/test")
    public Rs tt(){
        kafkaTemplate.send("tetete","6");
        return Rs.success();
    }


}

创建consumer

依赖一样,配置文件一样

消费

java 复制代码
package com.tt.control;

import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.stereotype.Component;

@Component
public class HelloKafka {

    @KafkaListener(topics = "tetete")
    public void onMessage(String data){
        System.out.println(data);
    }
}

可视化工具

Kafka Tool

相关推荐
lightqjx5 分钟前
【数据结构】顺序表(sequential list)
c语言·开发语言·数据结构·算法
巨人张15 分钟前
信息素养Python编程题
开发语言·python
东阳马生架构17 分钟前
订单初版—5.售后退货链路中的技术问题说明文档
java
小小寂寞的城22 分钟前
JAVA策略模式demo【设计模式系列】
java·设计模式·策略模式
阿猿收手吧!39 分钟前
【计算机网络】HTTP1.0 HTTP1.1 HTTP2.0 QUIC HTTP3 究极总结
开发语言·计算机网络
JAVA学习通39 分钟前
图书管理系统(完结版)
java·开发语言
abigalexy1 小时前
深入Java锁机制
java
paishishaba1 小时前
处理Web请求路径参数
java·开发语言·后端
七七七七071 小时前
C++类对象多态底层原理及扩展问题
开发语言·c++