消息中间件之kafka(四)springboot集成kafka

  1. 创建springboot项目,增加kafka依赖
  <dependency>
      <groupId>org.springframework.kafka</groupId>
      <artifactId>spring-kafka</artifactId>
  </dependency>
  1. 增加配置文件
#生产者
spring.kafka.producer.bootstrap-servers=192.168.1.130:9092
#消费者
spring.kafka.consumer.bootstrapServers=192.168.1.130:9092
spring.kafka.consumer.groupId=kafka-test
spring.kafka.consumer.autoOffsetReset=latest
spring.kafka.consumer.enableAutoCommit=true
  1. 增加生产者代码
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @version v1.0
 * @ProjectName: kafkademo
 * @ClassName: SendMessageController
 * @Description: TODO
 * @Author: 74251
 * @Date: 2020/6/8 16:59
 */
@RestController
public class SendMessageController {
    
    

    @Autowired
    private KafkaTemplate<String, String> kafkaTemplate;

    private String topic = "test-topic";

    @GetMapping("/send")
    public String send(String params) {
    
    
        System.out.println("[ 收到请求 ]");
        kafkaTemplate.send(topic, params);
        System.out.println("[ 返回响应 ]");
        return "您的任务已提交";
    }

}
  1. 增加消费者代码
package com.example.kafkademo;

import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.stereotype.Component;

/**
 * @version v1.0
 * @ProjectName: kafkademo
 * @ClassName: MessageHandler
 * @Description: TODO
 * @Author: 74251
 * @Date: 2020/6/8 16:58
 */
@Component
public class MessageHandler {
    
    

    @KafkaListener(topics = {
    
    "test-topic"})
    public void handle(String message) {
    
    
        System.out.println("[ 处理器开始处理消息 ]" + System.currentTimeMillis());

        try {
    
    
            Thread.sleep(5000);
        } catch (InterruptedException e) {
    
    
            e.printStackTrace();
        }

        System.out.println(message);

        System.out.println("[ 处理器处理消息完成 ]" + System.currentTimeMillis());
    }

}

猜你喜欢

转载自blog.csdn.net/bj_ameng/article/details/106625258